点击此块颜色变化,其他块恢复颜色的原生js代码

<script>
    window.οnlοad=function (){
        var pic=document.getElementById("pic")
        var order=document.getElementsByClassName("order");
        var orderLi=$(".order li");//这个是用jquery获取的,
        for(i=0;i<orderLi.length;i++) {//遍历处理,对于每个块都有onclick函数
       
              orderLi[i].onclick = function () {
                    for(i=0;i<orderLi.length;i++){//在点击事件中再加载一个遍历,当点击事件触发时,先让其他元素的颜色保持不变
                        orderLi[i].style="background-color:aliceblue";
                    }
                    this.style="background-color:red";//为什么要用this,而不是orderLi[i],要点击的事件块发生颜色变化,同时上一步使得其他的块颜色保持不变,这就让上一次点击变化
//的颜色恢复到原来的颜色 } } } </script>

  js处理点击其中一块,仅仅这一块颜色发生变化的原生js原理:

1,遍历,给每一个块添加一个onclick点击事件

2,点击之后,我们要做什么?(1):给点击的块添加颜色

(2),其他的块恢复颜色;::;;;,再添加一个遍历,给所有的元素恢复到原来,恢复后,后面添加对点击的块一个background

 ,,点击按钮,翻页的原生js代码

<script>
    window.οnlοad=function (){
        var pic=document.getElementById("pic")
        var order=document.getElementsByClassName("order");
        var orderLi=$(".order li");
            for(i=0;i<orderLi.length;i++){
                orderLi[i].index=i; //将i赋给orderLi[i]的index属性
                orderLi[i].onclick = function () {

                    for(i=0;i<orderLi.length;i++){
                        orderLi[i].style="background-color:aliceblue";
                    }
                    this.style="background-color:red";//为什么要用this,而不是orderLi[i]
                    pic.style.top=(-100)*this.index+"px"; //调用this的index
                }
            }
    }
</script>

  

转载于:https://www.cnblogs.com/qianduangaoshou/p/6504599.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值