最近做项目做到一个功能是用左右按钮取代进度条滚动,网上没有类似的dome就自己写了一个,挺简单不难,废话不多说直接上代码;
html
// 首先这是一个固定尺寸的视口div
<div class="scroll_part" style="position: relative;">
// 这是左按钮
<div id="goLeftBtn" class="btn sc_left" style="position: absolute;z-index: 10;">
<div class="">
<img src="img/sc_left.png" />
</div>
</div>
// 这是右按钮
<div id="goRightBtn" class="btn sc_right" style="position: absolute;z-index: 10;">
<div class="">
<img src="img/sc_right.png" />
</div>
</div>
// 这里是可以滚动的元素
<div class="content_sc">
<div id="" class="sc_box" style="position: relative;">
<img class="sc_img" style="" src="img/programme.png" />
<div class="dot" style="">//这个是一个动画特效可以不用管
<div class="dot2 ">
<div class="dot3"></div>
</div>
</div>
</div>
</div>
</div>
- 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++;
})
});
代码很简单 希望对大家有帮助!