javascript - 如何防止图像 slider 滚动太多?

标签 javascript jquery html css

我正在尝试创建一个 slider ,其功能之一是能够通过鼠标事件移动到下一个和上一个。

它已经可以工作了,但问题是当它到达末尾时,它会一直滚动。这是我的 JSfiddle .

有什么想法吗?

var sliding,
    dir, 
    startClientX = 0,
    prevClientX = 0,
    $mainDiv = $('#main-div');

function move(dir, step) {
   var $ul = $mainDiv.find('.slider'),
       liWidth = $ul.find('div').width();

   $ul.animate({
      left: '+=' + (dir * liWidth)
   }, 200);
}

$mainDiv.mousedown(function (event) {
    sliding = true;
    startClientX = event.clientX;
    return false;
}).mouseup(function (event) {
    var step = event.clientX - startClientX, 
        dir = step > 0 ? 1 : -1;

    step = Math.abs(step);

    move(dir, step);
});

最佳答案

与其编写自定义 javascript 代码,我建议使用 jQuery cycle2 插件,这将使您的生活更轻松。

http://jquery.malsup.com/cycle2/

关于javascript - 如何防止图像 slider 滚动太多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23623549/

相关文章:

javascript - 如何按顺序执行jquery函数?

javascript - 如何通过仅注册单击事件来检测元素的双击

javascript - 让 jQuery ui 自动完成仅与@mentions 一起使用

html - 如何确定 <a> 是否被禁用

html - 在现有的 div 区域中放置一个 JavaScript block

php - 菜单中的效果

javascript - 遍历数组并在按键时跳转到下一项

javascript - 如何增加 EsLint 内存以避免 `JavaScript heap out of memory`?

javascript - 从 jquery 进行 Ajax 调用后,php $POST[] 为空

javascript - 让mmenu.js在宽屏上打开,也可以关闭