如何在用户可视化页面点时启动 jQuery 效果
How to start a jQuery effect when a user visualizes a point of the page
我看到很多网站都有这个功能。例如:我滚动页面直到页脚,当我看到页脚时,里面的图像开始动画。简而言之,该图像只有在可视化页脚时才会开始动画。我怎样才能用jQuery做到这一点?
您可以执行以下操作:
$(window).on('scroll', function() {
if ($('#footer').offset().top <= $(window).scrollTop() + $(window).height()) {
console.log('footer is inside viewport');
}
});
基本上,您正在检查到文档顶部的距离。必须添加窗口的高度,否则它只会在#footer
元素位于窗口顶部时触发,这将为时已晚。
-
$(window).height()
提供视口的高度。 -
$(window).scrollTop()
是窗口向下滚动了多远。 -
$('#footer').offset().top
是页脚元素顶部与文档顶部的距离。
通过从 3 中减去 2,您可以得到它从视口顶部到页脚元素顶部的距离。如果该值小于 1(视区的高度),则页脚在视图中。
$(window).on('scroll', function() {
if (($('#footer').offset().top - $(window).scrollTop()) < $(window).height()) {
// Start animation
}
});
相关文章:
- 重新启动jquery脚本后,角度停止工作
- 在运行时启动jquery-ui.toggleSwitch.js切换开关
- 在Safari 9中的后退按钮后启动JQuery/Javascript
- 如何暂停和重新启动jquery数据表插件
- 页面加载时启动 jquery 函数
- 重新启动 Jquery setInterval 并重置所有 var
- 如何在用户可视化页面点时启动 jQuery 效果
- 如何基于下拉选择启动jQuery对话框
- 延迟mousedown间隔启动(JQuery/Javascript)
- 循环结束后重新启动jQuery.ech()
- 对动态插入的文本字符串启动jQuery
- 为什么我的ASP.NET按钮控件没有启动JQuery对话框
- 单击按钮时启动jQuery Modal未加载
- 重新启动jquery动画
- 在没有回调的情况下在ajax加载后启动jQuery脚本
- ajax后重新启动jquery插件,导致事件多次触发
- 用Ajax生成的链接启动JQuery对话框
- 从另一个JS函数中启动jQuery .datepicker
- 使用phonegap/cordova点击android原生菜单按钮启动jquery移动面板菜单
- 目标是在回发时启动jQuery AJAX POST的相同控件