// 鼠标滚动控制图片外加防抖,判断滚动到最后一张或第一张图片,解绑事件继续滚动页面
// 绑定类名自行更换
$(".picScroll-top").slide({
titCell: ".hd ul",
mainCell: ".bd ul",
autoPage: "<li><a></a></li>",
// effect: "topLoop",
// autoPlay: true,
trigger: "mouseover",
// delayTime: 0,
// triggerTime: 0,
// mouseOverStop: true,
pnLoop: false
});
================上面是slide的参数配置,查文档可自行更换参数==============
var timer = null //防抖函数
function onMouseScroll(e) {
var wheel = e.originalEvent.wheelDelta || -e.originalEvent.detail;
var delta = Math.max(-1, Math.min(1, wheel));
clearTimeout(timer) //清空防抖函数
e.preventDefault();
timer = setTimeout(() => {
if (delta < 0) {
if ($('.picScroll-top .hd .on').index() == 3) {
$(".picScroll-top .bd li").unbind('mousewheel DOMMouseScroll')
clearTimeout(timer)
}
$('.picScroll-top .bd .next').click() //触发点击next 触发下一页
} else {
if ($('.picScroll-top .hd .on').index() == 0) {
$(".picScroll-top .bd li").unbind('mousewheel DOMMouseScroll')
clearTimeout(timer)
}
$('.picScroll-top .bd .prev').click() //触发点击 prev 触发上一页
}
}, 100)
}
//鼠标移动到.picScroll-top .bd li 区域 绑定函数 mousewheel DOMMouseScroll
每次移动到绑定 触发条件再解绑 判断滚动到最后一张或第一张图片,解绑事件继续滑动滚轮 继续滚动页面
$('.picScroll-top .bd li').on('mouseenter', function () {
$('.picScroll-top .bd li').bind('mousewheel DOMMouseScroll', onMouseScroll);
})
使用SuperSlide插件
基于这种效果
记录一下 还请大佬们多多指点!