手记

jQuery实现点击按钮滚动元素

  • 最近做项目做到一个功能是用左右按钮取代进度条滚动,网上没有类似的dome就自己写了一个,挺简单不难,废话不多说直接上代码;

  • html

// 首先这是一个固定尺寸的视口div<div class="scroll_part" >
 // 这是左按钮  <div id="goLeftBtn" class="btn sc_left" >
    <div class="">
      <img src="img/sc_left.png" />
    </div>
  </div>// 这是右按钮  <div id="goRightBtn" class="btn sc_right" >
    <div class="">
      <img src="img/sc_right.png" />
    </div>
  </div>
  // 这里是可以滚动的元素  <div class="content_sc">
    <div id="" class="sc_box" >
      <img class="sc_img"  src="img/programme.png" />
        <div class="dot" >//这个是一个动画特效可以不用管              <div class="dot2 ">
                <div class="dot3"></div>
              </div>
        </div>
    </div>
  </div></div>

效果图.png

  • css部分很简单 就不贴出来了

  • js部分

// 滚动效果// 这里主要用到的方法就是$().scrollLeft();
    var count = 1;    var goWight = 100;

    $("#goLeftBtn").click(function() {        if(count == 0) {
            $('.content_sc').scrollLeft(0);
            count = 0;
        } else {
            count--;
            $('.content_sc').scrollLeft(count * goWight);
        }        console.log("count" + count);        var aaa = $(".sc_box")        console.log("offsetWidth" + aaa.offsetWidth);

    })

    $("#goRightBtn").click(function() {        if(count == 0) {
            $('.content_sc').scrollLeft(goWight);
        } else {
            $('.content_sc').scrollLeft(count * goWight);
        }        console.log("count" + count);        var aaa = $(".content_sc")[0].offsetWidth        var bbb = $(".sc_box")[0].offsetWidth        if((aaa + count * goWight) > bbb) {            return;
        }
        count++;

    })

});

代码很简单 希望对大家有帮助!



作者:Skywang
链接:https://www.jianshu.com/p/5f04a6f9cc7b

0人推荐
随时随地看视频
慕课网APP