jQuery中如何实现不同元素大小的平滑同步滚动?
jQuery 中的同步滚动:挑战和解决方案
在处理显示相似内容的不同大小的元素时,经常会出现同步滚动的需求。虽然可以使用直接的scrollTop值设置来实现基本的滚动同步,但当元素具有不同尺寸时,它会面临限制。
解决滚动同步问题:
尽管如此,还是要确保按比例滚动不同的元素大小,需要考虑滚动内容的百分比。计算 element.scrollTop / (element.scrollHeight - element.offsetHeight) 得出此百分比。将此值乘以其他元素的 (element.scrollHeight - element.offsetHeight) 可得出相应的scrollTop 值。
防止 Firefox 中的无限循环:
Firefox 遇到问题其中同步代码创建无限循环。为了解决这个问题,可以在设置scrollTop值时暂时移除滚动事件监听器,然后重新绑定。
代码实现:
以下代码实现了解决方案:
<code class="javascript">var $divs = $('#div1, #div2'); var sync = function(e){ var $other = $divs.not(this).off('scroll'), other = $other.get(0); var percentage = this.scrollTop / (this.scrollHeight - this.offsetHeight); other.scrollTop = percentage * (other.scrollHeight - other.offsetHeight); // Firefox workaround. Rebinding without delay isn't enough. setTimeout( function(){ $other.on('scroll', sync ); },10); } $divs.on( 'scroll', sync);</code>
登录后复制
此代码依赖于变量 $divs,应调整该变量以定位所需的元素。它还包含特定于 Firefox 的解决方法,以防止侦听器问题。
以上是jQuery中如何实现不同元素大小的平滑同步滚动?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
<🎜>:种植花园 - 完整的突变指南
4 周前
By DDD
<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前
By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
1 个月前
By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
4 周前
By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在本周的平台新闻综述中,Chrome引入了一个用于加载的新属性,Web开发人员的可访问性规范以及BBC Move
