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 10

学好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...

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

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

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

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

    js教程 204 3年前
最新更新
  • js截取字符串教程

    slice()方法接受两个参数,起始索引和结束索引(可选)。它返回从起始索引到结束索引(不包括结束索引)之间的子字符...

    js教程 1个月前
  • find findIndex indexOf索引选择器使用方法

    find使用方法find方法是ES6引入的一种数组方法,可以用来查找数组中符合条件的元素。语法是:array.find(callba...

    js教程 2个月前
  • js复制网页内容教程

    Async Clipboard API方法HTML5新增的方法,无需引入第三方插件,直接就可以复制内容。低版本的浏览器可能会不兼...

    js教程 2个月前
  • js获取字符长度函数分享

    js获取字符长度函数function objLen(str) { if (str == null) return 0; if (typeof str != "string") { ...

    js教程 2个月前
  • 网站LED跑马灯效果广告代码

    网站可以看到很多的论坛网站都会用到这种网站LED跑马灯效果,这种效果实现也很简单,分享给大家。LED跑马灯效果...

    js教程 3个月前