zoukankan      html  css  js  c++  java
  • js自定义属性以及自定义一组开关应用

    任何的html标签都有自己的一个属性,当时那都是它本身的固定属性,而我们在项目中可能会遇到需要给标签添加一些自定义的属性,去判断替换内容或者赋值等等,那么就需要给标签设定一个属性来作为判断标准或者赋值的标准,所以今天就来谈谈给标签自定义属性的一个小应用。

    案例:三个div有背景色,想要达到效果是点击任何一个给替换颜色再次点击,还给还原回来,各自的div不影响其他的div,也可以都点击都变色,相反都还原。

    好的,话不多说,我们来看代码,先来看下简单的布局:

     1 <style>
     2    ul,li{list-style: none;}
     3    ul{overflow: hidden;}
     4    li{width:200px;height:200px;background-color:#f1f1f1;margin:100px 15px;float:left;}
     5 </style>
     6 <body>
     7 <ul id="list">
     8     <li></li>
     9     <li></li>
    10     <li></li>
    11 </ul>
    12 </body>

    目前不加js的效果就是三个灰色的方形,那么来看js

     1 <script>
     2     window.onload= function(){
     3      var List=document.getElementById("list");//先获取到最外面的ul
     4      var aLi=List.getElementsByTagName("li");//然后获取li
     5 
     6         for(var i=0;i<aLi.length;i++){
     7             aLi[i].onOff=true;//这里不仅是一个开关来判断,假设当前开关若为真
     8             aLi[i].onclick=function(){
     9                 if(this.onOff){//如果当前开关为真,一定要记得加this,主要是指出当前开关,那么就执行下面的代码
    10                     this.style.backgroundColor="#ff0";
    11                     this.onOff=false;//这里要把它恢复为假
    12                 }else{//否则就执行下面的代码,记得也要恢复为真,这样就可以随意切换
    13                     this.style.backgroundColor="#f1f1f1";
    14                     this.onOff=true;
    15                 }
    16 
    17             }
    18         }
    19     };
    20 </script>

    好的,就是这样,主要需要提醒的就是因为要div互不影响,在设置开关来控制的时候,一定是各自是各自的开关,所以必须写进for循环里面。

    好了,就是这样,加油!

  • 相关阅读:
    nginx设置开机自启
    sublimeText3和phpstrom使用
    快捷键整理
    nginx日志分割及备份
    nginx日志设置
    nginx上部署PHP
    C语言三种参数传递方式
    浮点数在内存中的存储方式
    windows下git安装过程
    偏移二进制编码和二进制补码的区别
  • 原文地址:https://www.cnblogs.com/web001/p/7892137.html
Copyright © 2011-2022 走看看