排他思想的理解以及百度换肤,表格隔行变色的使用

1)排他思想 (需要重点掌握,后面这种思想很重要)

        如果有同一组元素,我们想要某一个元素实现某种样式,需要用到循环的排他思想

                1)所有元素全部清除他们的样式(干掉他们)

                2)给当前选择的元素设置样式(保留自己)

                3)注意的是顺序不能进行颠倒,要先干掉他们,这样才能设置自己想要的

例如:我们要给5个按钮添加点击事件之后,当我们点击某一个时,当前这个显示颜色,其他的不显示颜色

 

2)排他思想的使用(百度换肤案例)

案例分析: 
         1)这个案例练习的是个一组元素注册事件。
         2)给4个小图片利用循环注册点击事件。
         3)当我们点击这个图片,让我们页面背景改为当前的图片。
         4)核心算法,把当前图片的src路径取过来,给body作为背景就可以了 。

 

3)排他思想的使用(表格隔行变色案例)

案例分析
        1)用到新的鼠标事件,鼠标经过onmouseover  鼠标经过onmouseout 
        2)核心思路:鼠标经过tr 行,当前的行改变背景颜色,鼠标离开去掉当前的背景颜色 
        3)注意:第一行(thead里面的行)不需要变化颜色,因此我们获取的是tbody里面的行 

代码名称最新公布净值累计净值前单位净值净值增长率
003526农银金穗3个月定期开放债券1.0751.0791.074+0.047%
003526农银金穗3个月定期开放债券1.0751.0791.074+0.047%
003526农银金穗3个月定期开放债券1.0751.0791.074+0.047%
003526农银金穗3个月定期开放债券1.0751.0791.074+0.047%
003526农银金穗3个月定期开放债券1.0751.0791.074+0.047%

 百度换肤案例,js方法总结(目前已知的方法)

Document
  • 查看天气信息
  • 设置
  • 换肤
    1. 皮肤一
    2. 皮肤二
    3. 皮肤三
    4. 皮肤四
// 方法一: 通过创造一个图片的索引让图片与换图按钮相对应var skinlists = document.querySelectorAll('.skinlist>li');var baidu = document.querySelector('.baidu');// console.log(skinlists);// console.log(baidu);for (var i = 0; i < skinlists.length; i++) {skinlists[i].setAttribute('index', i + 1);skinlists[i].onclick = function() {baidu.style.background = 'url(image/' + this.getAttribute('index') + '.jpg)no-repeat center';baidu.style.backgroundSize = 'cover';}}// 这个就是一一匹配的进行实现换肤,这只是一个思路的理解,不介意该方法实现// skinlists[0].onclick = function() {//     baidu.style.background = 'url(image/1.jpg)no-repeat center';//     baidu.style.backgroundSize = 'cover';// }// skinlists[1].onclick = function() {//     baidu.style.backgroundImage = 'url(image/2.jpg)';//     baidu.style.backgroundSize = 'cover';// }// skinlists[2].onclick = function() {//     baidu.style.background = 'url(image/3.jpg)no-repeat center';//     baidu.style.backgroundSize = 'cover';// }// skinlists[3].onclick = function() {//         baidu.style.background = 'url(image/4.jpg)no-repeat center';//         baidu.style.backgroundSize = 'cover';//     }// 方法二:通过将对象转化为数组的形式,然后通过indexOf获取里面的数组信息var skinlist = document.querySelector('.skinlist');skinlist.addEventListener('click', function(e) {// var item = e.target;// e.target 返回的是触发事件的对象(元素)var skinlists = Array.from(skinlist.querySelectorAll('.skinlist>li'));// Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组var num = skinlists.indexOf(e.target);baidu.style.background = 'url(image/' + (num + 1) + '.jpg) no-repeat center';baidu.style.backgroundSize = 'cover';// 	// if(num==0){// 	// baidu.style.background = 'url(image/' + (num+1)+ '.jpg)';// 	// baidu.style.backgroundSize = 'cover';// 	// }else if(num==1){// 	// baidu.style.background = 'url(image/' + (num+1)+ '.jpg)';// 	// baidu.style.backgroundSize = 'cover';// 	// }else if(num==2){// 	// baidu.style.background = 'url(image/' + (num+1)+ '.jpg)';// 	// baidu.style.backgroundSize = 'cover';// 	// }else{// 	//  baidu.style.background = 'url(image/' + (num+1)+ '.jpg)';// 	//  baidu.style.backgroundSize = 'cover';// 	// }		 // })

下面这个是实现了点击一个按钮,就能将里面的图片进行切换,一个按钮的切换所有图片的效果

// 设置一个按钮切换里面的任意一个图片var skinlists = document.querySelectorAll('.skinlist>li');for (var k of skinlists) { //一个按钮循环背景var j = 1;k.onclick = function() {baidu.style.background = 'url(image/' + j + '.jpg)';baidu.style.backgroundSize = 'cover';j < skinlists.length ? j++ : j = 1;}}

以上的实现,重点还是排他思想的理解以及运用


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部