用js自己写一个旋转轮播插件(兼容ie)--防抖节流

<style>
.section_2{
	.yuan{
		height: 100%;
		.list{
			width:31.25%;padding-bottom: 31.25%;left: 80px;    border-radius: 50%;border: 1px solid $colmain2;background-image: url(../images/logo1.png);background-position: center;background-repeat: no-repeat;
			position: relative;
			&::after{
				content: '';position: absolute;width: 110%;background: url(../images/yuan_bg.png) center center no-repeat;background-size: 100%;left: -10%;top: -5%;height: 110%;z-index: -1;
			}
			.ul{margin: 0;}
			li{
				width: 17.5%;padding-bottom: 17.5%;position: absolute;right: 0;top: 0;transition: all 0.3s;-o-transition: all 0.3s;-webkit-transition: all 0.3s;-moz-transition: all 0.3s;-ms-transition: all 0.3s;
				border-radius: 50%;background-color: $colmain2;
				.backcon{
					position: absolute;width: 80%;height: 80%;left: 10%;top: 10%;
				}
				.pic2{display: none;}
			}
			li.cur{
				transform: scale(1.4);-webkit-transform: scale(1.4);-o-transform: scale(1.4);-ms-transform: scale(1.4);-moz-transform: scale(1.4);box-shadow: 0 4px 22px #aaa;
				.pic{
					display: none;
				}
				.pic2{
					display: block;
				}
			}
			li:nth-child(1){
				right: 50%;top: -8%;
			}
			li:nth-child(2){
				right: 8%;top: 4%;
			}
			li:nth-child(3){
				right: -9%;top: 41%;
			}
			li:nth-child(4){
				right: 8%;top: 78%;
			}
			li:nth-child(5){
				right: 51%;top: 89%;
			}
			li:nth-child(6){
				right: 85%;top: 64%;
			}
			li:nth-child(7){
				right: 86%;top: 19%;
			}
		}
		.widr{
			width: 49.3%;line-height: 36px;color: #737373;
			.tit{
				img{
					vertical-align: text-bottom;
				}
			}
			.details{margin-top: 9%;}
			.btnto{display: inline-block;border: 2px solid $colmain2;color: $colmain2;padding: 1.8% 6.5%;border-radius: 30px;margin-top: 9.2%;}
			.item{display: none;}
			.item.cur{display: block;}
		}
	}
}
</style>
<section class="section_2 section">
        <div class="section_bg">
          <div class="yuan contents">
            <div class="tb">
              <div class="tbc">
                <div class="list fl">
                  <ul class="ul">
                    <li class="nav_link cur">
                      <div class="pic backcon" style="background-image: url(../uploadfiles/index/yuan1.png);"></div>
                      <div class="pic2 backcon" style="background-image: url(../uploadfiles/index/yuan1s.png);"></div>
                    </li>
                    <li class="nav_link">
                      <div class="pic backcon" style="background-image: url(../uploadfiles/index/yuan2.png);"></div>
                      <div class="pic2 backcon" style="background-image: url(../uploadfiles/index/yuan2s.png);"></div>
                    </li>
                    <li class="nav_link">
                      <div class="pic backcon" style="background-image: url(../uploadfiles/index/yuan3.png);"></div>
                      <div class="pic2 backcon" style="background-image: url(../uploadfiles/index/yuan3s.png);"></div>
                    </li>
                    <li class="nav_link">
                      <div class="pic backcon" style="background-image: url(../uploadfiles/index/yuan4.png);"></div>
                      <div class="pic2 backcon" style="background-image: url(../uploadfiles/index/yuan4s.png);"></div>
                    </li>
                    <li class="nav_link">
                      <div class="pic backcon" style="background-image: url(../uploadfiles/index/yuan5.png);"></div>
                      <div class="pic2 backcon" style="background-image: url(../uploadfiles/index/yuan5s.png);"></div>
                    </li>
                    <li class="nav_link">
                      <div class="pic backcon" style="background-image: url(../uploadfiles/index/yuan6.png);"></div>
                      <div class="pic2 backcon" style="background-image: url(../uploadfiles/index/yuan6s.png);"></div>
                    </li>
                    <li class="nav_link">
                      <div class="pic backcon" style="background-image: url(../uploadfiles/index/yuan7.png);"></div>
                      <div class="pic2 backcon" style="background-image: url(../uploadfiles/index/yuan7s.png);"></div>
                    </li>
                  </ul>
                </div>
                <div class="widr fr">
                  <div class="item cur">
                    <div class="tit font48 zkfont"><img src="../uploadfiles/index/yuan3tit.png" alt=""> 怡可诺</div>
                    <div class="details font22 zkfont">
                      “为消费者提供美味可口食品的承诺”,这是怡可诺自诞生之日起便被赋予的品牌使命,也是上海龙瀚实业有限公司多年来一直秉承的品牌理念。
                      <br>
                         怡可诺以高标准、高品质的筛选原则,在全世界范围内甄选美味优质食品,旨在让品尝到怡可诺的每个人,都能享受到健康快乐的美妙生活。
                    </div>
                    <a href="./02_brand.html" class="btn btnto font16 fontwei colmain2 nav_link">查看更多 &gt;</i></a>
                  </div>
                  <div class="item">
                    <div class="tit font48 zkfont"><img src="../uploadfiles/index/yuan3tit.png" alt=""> 怡可诺2</div>
                    <div class="details font22 zkfont">
                      “为消费者提供美味可口食品的承诺”,这是怡可诺自诞生之日起便被赋予的品牌使命,也是上海龙瀚实业有限公司多年来一直秉承的品牌理念。
                      <br>
                         怡可诺以高标准、高品质的筛选原则,在全世界范围内甄选美味优质食品,旨在让品尝到怡可诺的每个人,都能享受到健康快乐的美妙生活。
                    </div>
                    <a href="./02_brand.html" class="btn btnto font16 fontwei colmain2 nav_link">查看更多 &gt;</i></a>
                  </div>
                  <div class="item">
                    <div class="tit font48 zkfont"><img src="../uploadfiles/index/yuan3tit.png" alt=""> 怡可诺3</div>
                    <div class="details font22 zkfont">
                      “为消费者提供美味可口食品的承诺”,这是怡可诺自诞生之日起便被赋予的品牌使命,也是上海龙瀚实业有限公司多年来一直秉承的品牌理念。
                      <br>
                         怡可诺以高标准、高品质的筛选原则,在全世界范围内甄选美味优质食品,旨在让品尝到怡可诺的每个人,都能享受到健康快乐的美妙生活。
                    </div>
                    <a href="./02_brand.html" class="btn btnto font16 fontwei colmain2 nav_link">查看更多 &gt;</i></a>
                  </div>
                  <div class="item">
                    <div class="tit font48 zkfont"><img src="../uploadfiles/index/yuan3tit.png" alt=""> 怡可诺4</div>
                    <div class="details font22 zkfont">
                      “为消费者提供美味可口食品的承诺”,这是怡可诺自诞生之日起便被赋予的品牌使命,也是上海龙瀚实业有限公司多年来一直秉承的品牌理念。
                      <br>
                         怡可诺以高标准、高品质的筛选原则,在全世界范围内甄选美味优质食品,旨在让品尝到怡可诺的每个人,都能享受到健康快乐的美妙生活。
                    </div>
                    <a href="./02_brand.html" class="btn btnto font16 fontwei colmain2 nav_link">查看更多 &gt;</i></a>
                  </div>
                  <div class="item">
                    <div class="tit font48 zkfont"><img src="../uploadfiles/index/yuan3tit.png" alt=""> 怡可诺5</div>
                    <div class="details font22 zkfont">
                      “为消费者提供美味可口食品的承诺”,这是怡可诺自诞生之日起便被赋予的品牌使命,也是上海龙瀚实业有限公司多年来一直秉承的品牌理念。
                      <br>
                         怡可诺以高标准、高品质的筛选原则,在全世界范围内甄选美味优质食品,旨在让品尝到怡可诺的每个人,都能享受到健康快乐的美妙生活。
                    </div>
                    <a href="./02_brand.html" class="btn btnto font16 fontwei colmain2 nav_link">查看更多 &gt;</i></a>
                  </div>
                  <div class="item">
                    <div class="tit font48 zkfont"><img src="../uploadfiles/index/yuan3tit.png" alt=""> 怡可诺6</div>
                    <div class="details font22 zkfont">
                      “为消费者提供美味可口食品的承诺”,这是怡可诺自诞生之日起便被赋予的品牌使命,也是上海龙瀚实业有限公司多年来一直秉承的品牌理念。
                      <br>
                         怡可诺以高标准、高品质的筛选原则,在全世界范围内甄选美味优质食品,旨在让品尝到怡可诺的每个人,都能享受到健康快乐的美妙生活。
                    </div>
                    <a href="./02_brand.html" class="btn btnto font16 fontwei colmain2 nav_link">查看更多 &gt;</i></a>
                  </div>
                  <div class="item">
                    <div class="tit font48 zkfont"><img src="../uploadfiles/index/yuan3tit.png" alt=""> 怡可诺7</div>
                    <div class="details font22 zkfont">
                      “为消费者提供美味可口食品的承诺”,这是怡可诺自诞生之日起便被赋予的品牌使命,也是上海龙瀚实业有限公司多年来一直秉承的品牌理念。
                      <br>
                         怡可诺以高标准、高品质的筛选原则,在全世界范围内甄选美味优质食品,旨在让品尝到怡可诺的每个人,都能享受到健康快乐的美妙生活。
                    </div>
                    <a href="./02_brand.html" class="btn btnto font16 fontwei colmain2 nav_link">查看更多 &gt;</i></a>
                  </div>
                </div>
                <div class="clear clearfix"></div>
              </div>
            </div>
          </div>
        </div>
        <!--slide end-->
  </section>
  
  <script>
    var s1 = 0;
    var time_section_2 = setInterval(function () {
      if (s1 < 7) {
        $('.section_2 .list .ul li').removeClass('cur').eq(s1).addClass('cur');
        $('.section_2 .widr .item').removeClass('cur').eq(s1).addClass('cur');
        s1++;
      } else {
        s1 = 0;
        $('.section_2 .list .ul li').removeClass('cur').eq(s1).addClass('cur');
        $('.section_2 .widr .item').removeClass('cur').eq(s1).addClass('cur');
      }
    }, 3000);
    $('.section_2 .list .ul li').on('click', function () {
      s1 = $(this).index();
      clearInterval(time_section_2);
      time_section_2 = setInterval(function () {
        if (s1 < 7) {
          $('.section_2 .list .ul li').removeClass('cur').eq(s1).addClass('cur');
          $('.section_2 .widr .item').removeClass('cur').eq(s1).addClass('cur');
          s1++;
        } else {
          s1 = 0;
          $('.section_2 .list .ul li').removeClass('cur').eq(s1).addClass('cur');
          $('.section_2 .widr .item').removeClass('cur').eq(s1).addClass('cur');
        }
      }, 3000);
      $('.section_2 .list .ul li').removeClass('cur').eq($(this).index()).addClass('cur');
      $('.section_2 .widr .item').removeClass('cur').eq($(this).index()).addClass('cur');
    })
  </script>

下面给出一个自定义顺序的js方法

function shunxu(){
		var arr =[];
		$("#listw li").each(function(i){
			arr.push(i);
		})
		var time_section_2 = setInterval(function () {
			if(s1==arr.length){
				s1=0
				for(var i=0;i<=arr.length;i++){
					if((i+s1)<arr.length){
						$("#listw li").eq(i).attr('class','weiz'+arr[i+s1]+'')
					}else{
						$("#listw li").eq(i).attr('class','weiz'+arr[(i+s1)-arr.length]+'')
					}
				}
				s1++
			}else{
				for(var i=0;i<=arr.length;i++){
					if((i+s1)<arr.length){
						$("#listw li").eq(i).attr('class','weiz'+arr[i+s1]+'')
					}else{
						$("#listw li").eq(i).attr('class','weiz'+arr[(i+s1)-arr.length]+'')
					}
				}
				s1++;
			}
		}, 3000);
}

节流 && 防抖

//节流
throttle(delay) { 
	if (!this.timer) { 
	    this.timer = setTimeout(() => { 
	        console.log('执行节流')
	        this.onClickSearch()
	        this.timer = null; 
	    }, delay); 
	}
}
// 防抖
throttle(delay) { 
    this.timer&&clearTimeout(this.timer)
	this.timer = setTimeout(() => { 
	   console.log('执行防抖')
	    this.onClickSearch()
	    this.timer = null; 
	}, delay); 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值