2022-05-19 鼠标点击产生颜色宽高样式的随机div色块,并做出面向对象和原型对象修改

需求

通过鼠标点击事件向body添加节点,
来产生宽高,背景色,圆弧数据都完全随机的div色块

面向过程
要点

首先要封装一个产生随机数的函数
然后分别封装产生宽高,背景色,圆弧的函数,调用上面的函数
在鼠标点击事件中进行节点创建,添加样式(此处调用上面的函数),追加到body

代码
document.onclick = function(eve) {
   
    var x = eve.clientX,
        y = eve.clientY;
    var num = randNum(50, 100) + "px"; //调用randNum()
    document.body.appendChild(createDiv("div", {
    //调用createDiv()
        width: num,
        height: num,
        background: getColor(),
        position: 'absolute',
        left: x + 'px',
        top: y + 'px',
        borderRadius: randNum(0, 50) + '%',
        opacity: randNum(50, 100)
    }));
};
/*******函数定义区*****/
// 创建节点
function createDiv(tag, styleObj) {
    //形参tag就是div,li等等的统称,styleObj是节点的宽高等样式组成的数组对象
    this.eleObj = document.createElement(this.tag);
    for (var attr in styleObj) {
    //for in遍历对象
        eleObj.style[attr] = styleObj[attr]; //把创建的节点的样式与形参styleObj样式对象的每个元素对应
    }
    return eleObj;
}
// 获取16进制的随机颜色
function getColor() {
   
    // #ef364a
    var c = "#";
    for (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端OnTheRun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值