js教程

JavaScript动态修改样式方法

我的站长站 2021-10-30 人阅读

代码示例

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .lul li{
            height: 90px;
            width: 50px;
        }
    </style>
</head>
<body>
    <button>3</button>
    <button>4</button>
    <button>5</button>
    <div>
        <ul style="position: relative">
            <li style="background: red"></li>
            <li style="background: forestgreen"></li>
            <li style="background: yellow"></li>
            <li style="background: paleturquoise"></li>
            <li style="background: blue"></li>
            <li style="background: wheat"></li>
            <li style="background: darkturquoise"></li>
            <li style="background: rebeccapurple"></li>
            <li style="background: orange"></li>
            <li style="background: salmon"></li>
        </ul>
    </div>
    <script>
        var lli = document.getElementsByClassName('lul')[0].children;
        console.log(lli);
        var bu3 = document.getElementsByTagName('button')[0];
        var bu4 = document.getElementsByTagName('button')[1];
        var bu5 = document.getElementsByTagName('button')[2];
 
        bu3.onclick = function () {
            jiu(3);
        };
        bu4.onclick = function () {
            jiu(4);
        };
        bu5.onclick = function () {
            jiu(5);
        };
        function jiu(row) {
            //记录格子宽高,传递进来的是每行放几个li
            var height = 90,width = 50;
            for(var x = 0;x<lli.length;x++){
                //记录行与列
                var hang,lie;
                hang = parseInt(x/row);
                lie = x%row;
                console.log('第'+x+"个在第"+hang+"行"+lie+"列");
                //问题在这,每一个元素都要执行一遍这个赋值,是否可以直接在样式表中添加
                /*.lul li{
                       height: 90px;
                       width: 50px;
                       position: absolute;
                }
                如上
                */
                lli[x].style.position='absolute';
                 
                lli[x].style.left = lie * width + 'px';
                lli[x].style.top = hang * height +'px';
            }
        }
    </script>
</body>
</html>
相关专题
javascript
javascript
2022-09-12 12

学好javascript是开发必备基础知识,任何开发都离不开javascript.我的站长站为您整理javascript教程,javascript源码,更多javascript资源请访问我的站长站。...

相关推荐
  • JavaScript语法
  • JavaScript ES6-11版本语法大全教程
    JavaScript ES6-11版本语法大全教程

    视频教程说明JavaScript ES6-11版本语法大全教程,共77课时,淘宝购买免费分享给大家。JavaScript ES6教程截图课程列表9-7 空值合并运算符:Nullish coalescing Operator_.mp49-6 可选链:Optional chai...

    视频教程 64 3年前
  • javascript制作随机样式标签云方法
    javascript制作随机样式标签云方法

    我的站长站分享一段超简单的javascript随机样式标签云方法,比网上那些长篇大论的简单好理解多了,一看就懂,效果如下。JS代码$(".tags a").each(function(){var x = 5;var y = 9;var rand = parseInt...

    js教程 91 4年前
  • JavaScript优雅地修改对象属性名

    在项目开发中总会需要对对象进行格式化以便处理,这其中就涉及到了修改对象的属性名,也就是对象键名的修改。比如在处理下面这个对象时const obj = {name :Bobo &#39;,job: &#39; Master&#39;,number: 1234};采用传统的操作方式就是进行一个拷贝处理obj [...

    js教程 242 3年前
最新更新