点击生成10个随机颜色的li

点击生成10个随机颜色的li

html以及css部分:

<style>
        body,ul{
            margin:0;
            padding:0;
        }
        li{
            display:inline-block;
            list-style: none;
            text-align:center;
            margin-left:5px;
            margin-bottom:5px;
            width: 50px;
            height: 50px;
            border:1px #000 solid;
            background:red;
            line-height:50px;
            font-size:25px;
        }
    </style>

<input class="btn" type="button" value="点击生成10个li"/>
<ul class="list"></ul>

点击按钮,将生成的10个带有随机颜色的li标签插入到ul标签中

<script>
    window.onload=function(){
        var btn=document.getElementsByClassName("btn")[0];
        var list=document.getElementsByClassName("list")[0];
        var colors=["blue","purple","pink","yellow","green","red"];
        function selectFrom(min,max){
            var num =max-min+1;
            return Math.floor(Math.random()*num+min);
        }
        //生成随机颜色
        btn.onclick=function(){
            for(var i=0;i<10;i++){
                var Ele=document.createElement("li");
//                Ele.innerHTML=i+1;也可以达到添加数字的效果
                var txt=document.createTextNode(i+1);
//                Ele.childNodes[0].nodeValue=txt;因为创建的li没有内容,所以它并没有文本节点,直接更改不会成功
                Ele.appendChild(txt);            Ele.style.backgroundColor=colors[selectFrom(0,colors.length-1)];
                list.appendChild(Ele);
            }
        };
    };
</script>

这里写图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Vue3中生成随机盒子,你可以使用grid布局和随机颜色来实现。首先,在你的template中,你可以使用ul和li标签来创建一个列表,将每个li标签作为一个盒子,然后使用v-for指令遍历一个包含随机颜色的数组。代码如下所示: ```html <ul class="label_list"> <li class="label_item" v-for="(item, index) in skillTagArr" :style="{ backgroundColor: item.color }"> <i class="el-icon-share"></i>{{ item.tag }} </li> </ul> ``` 接下来,在script标签中,你可以添加一个data属性来存储生成随机颜色数组skillTagArr,并在mounted钩子函数中调用一个方法initTarget来初始化这个数组。在initTarget方法中,你可以将vuex仓库中的数据赋值给skillTagArr,并为每个对象添加一个color属性来存储随机生成颜色。代码如下所示: ```javascript import { mapState } from 'vuex' export default { data() { return { skillTagArr: [], } }, mounted() { this.initTarget() }, methods: { initTarget() { this.skillTagArr = this.personalInfo.tags this.skillTagArr.forEach((item) => { item.color = this.RandomColor() }) }, RandomColor() { let r, g, b r = Math.floor(Math.random() * 256) g = Math.floor(Math.random() * 256) b = Math.floor(Math.random() * 256) return 'rgb(' + r + ',' + g + ',' + b + ')' }, }, computed: { ...mapState(['personalInfo']), }, } ``` 最后,你可以在style标签中定义grid-box容器以及盒子的样式。代码如下所示: ```css <style scoped> .grid-box { display: grid; grid-template-columns: auto auto auto auto auto auto; grid-gap: 20px; background-color: #2196F3; padding: 10px; box-sizing: border-box; width: 700px; height: 340px; } .grid-item { background: #ccc; } .def-box { background: #FFFFFF; } </style> ``` 通过以上的代码,你可以在Vue3中生成一个带有随机颜色的盒子网格。每个盒子的颜色都是通过RandomColor方法随机生成的,并且通过v-for指令循环生成

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值