关于SuperSlide鼠标控制滚动图片事件+防抖

// 鼠标滚动控制图片外加防抖,判断滚动到最后一张或第一张图片,解绑事件继续滚动页面
// 绑定类名自行更换

$(".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插件
基于这种效果

鼠标滚动控制图片外加防抖,判断滚动到最后一张或第一张图片,解绑事件继续滚动页面
记录一下 还请大佬们多多指点!

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,实现网页中鼠标滚动,背景图片向上滑动切换下一张的效果,可以按照以下步骤来完成: 1. 在HTML中定义需要切换的背景图,可以使用CSS的background-image属性,或者在HTML中使用<img>标签插入图片。 2. 在CSS中设置body元素的background-attachment属性为fixed,这样背景图会随着页面滚动滚动。 3. 使用JavaScript监听鼠标滚轮事件,可以使用addEventListener方法绑定事件。 4. 在监听到鼠标滚轮事件时,判断滚轮滚动的方向,如果向上滚动,则切换到下一个背景图。 5. 切换背景图时,可以使用CSS的background-image属性或者JavaScript动态修改<img>标签的src属性来实现。 6. 为了避免滚轮事件频繁触发,可以使用节流或防抖等技术进行优化。 下面是一份示例代码,供参考: ```html <!DOCTYPE html> <html> <head> <title>滚轮滚动切换背景图</title> <style> body { background-image: url('bg1.jpg'); background-size: cover; background-position: center center; background-attachment: fixed; transition: background-image 0.5s ease-in-out; } </style> </head> <body> <script> var bgIndex = 1; var bgUrls = ['bg1.jpg', 'bg2.jpg', 'bg3.jpg', 'bg4.jpg']; window.addEventListener('wheel', function(event) { if (event.deltaY < 0) { bgIndex = (bgIndex - 1 + bgUrls.length) % bgUrls.length; document.body.style.backgroundImage = 'url(' + bgUrls[bgIndex] + ')'; } else if (event.deltaY > 0) { bgIndex = (bgIndex + 1) % bgUrls.length; document.body.style.backgroundImage = 'url(' + bgUrls[bgIndex] + ')'; } }); </script> </body> </html> ``` 在这个示例中,我们定义了一个包含4个背景图的数组bgUrls,使用监听wheel事件来实现鼠标滚动的检测,当滚轮向上滚动时,切换到上一个背景图,当滚轮向下滚动时,切换到下一个背景图。切换背景图时,我们使用CSS的background-image属性来实现。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值