jq实现鼠标滚动图片随之背景偏移

话不多说,上代码

<script>
	function isInViewport(node) {
	  var rect = node.getBoundingClientRect()
	  return (
	    (rect.height > 0 || rect.width > 0) &&
	    rect.bottom >= 0 &&
	    rect.right >= 0 &&
	    rect.top <= (window.innerHeight || document.documentElement.clientHeight) &&
	    rect.left <= (window.innerWidth || document.documentElement.clientWidth)
	  )
	}
	$(window).scroll(function() {
	    var scrollTop = $(window).scrollTop();
	    var scrolled = $(window).scrollTop()
	  $('.bg').each(function(index, element) {   //此处添加需实现模块的背景图类名
		console.log(111)
	    var initY = $(this).offset().top
	    var height = $(this).height()
	    var endY  = initY + $(this).height()
	
	    // Check if the element is in the viewport.
	    var visible = isInViewport(this)
	    if(visible) {
	      var diff = scrolled - initY
	      var ratio = Math.round((diff / height) * 100)
	      $(this).css('background-position','center ' + parseInt(-(ratio * -2)) + 'px')
	    }
	  });
	})
</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
首先,为了实现视频与图片的轮播,我们需要使用jQuery库来进行操作。我们可以将这些视频和图片以列表的形式呈现,并使用jQuery的方法来实现自动轮播和用户交互的功能。 在HTML中,我们可以将视频和图片都放在一个div容器中,并为它们设置一个统一的类名,比如"slide"。然后使用jQuery选择器来选中这些元素,并初始化轮播功能。我们可以使用下面的代码: ```html <div class="slider"> <div class="slide"> <img src="image1.jpg" alt="Image 1"> </div> <div class="slide"> <video src="video1.mp4" controls></video> </div> <!-- 更多的图片和视频 --> </div> ``` ```javascript $(document).ready(function(){ // 设置轮播间隔时间 var interval = 3000; // 毫秒 // 找到所有的slide元素 var slides = $('.slide'); var currentSlide = 0; // 自动轮播 function nextSlide() { slides.eq(currentSlide).fadeOut(); currentSlide = (currentSlide + 1) % slides.length; slides.eq(currentSlide).fadeIn(); } // 设置定时器 setInterval(nextSlide, interval); }); ``` 在上面的代码中,我们首先找到了所有的slide元素,并设置了一个变量currentSlide来追踪当前的轮播项。然后通过interval和setInterval方法来自动播放下一个轮播项,并根据currentSlide的值来切换图片或视频的显示。 另外,我们还可以添加一些用户交互的功能,比如鼠标悬停在轮播元素上时停止轮播,点击左右箭头来切换轮播项等等。总之,通过使用jQuery来操作元素和实现轮播功能,我们可以轻松地实现视频与图片的轮播效果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值