jQuery scrollFix滚动定位插件_javascript技巧
程序员文章站
2022-04-12 08:00:30
...
当用户向上或向下滚动页面到一定位置时,目标元素开始固定定位(position:fixed),当回滚到原位置时目标元素恢复到原状态,可以定制触发滚动相对屏幕位置和触发滚动方向,兼容IE6
实现代码:
【插件参数】
$(".target_element").scrollFix( [ "top" | "bottom" | length(可以为负,表示相对bottom), [ "top" | "bottom" ] ]);
第一个参数: 可选,默认为"top",当目标元素到了屏幕相对的位置时开始触发固定,可以填一个数值,如100,-200 ,负值表示相对于屏幕下方
第一个参数: 可选,默认为"top",表示触发固定的滚动方向,"top"表示从上向下滚动时触发,"bottom"表示从下向上滚动时触发
【下载插件】scrollFix(jb51.net).rar
复制代码 代码如下:
【代码示例】
$("#a").scrollFix(-200);
滚动到距离下面200px时开始固定,默认从上到下触发
$("#b").scrollFix(200,"bottom");
滚动到距离上面200px时开始固定,指定"bottom"从下到上触发
$("#c").scrollFix("top","top");
滚动到距离上面0时开始固定,指定"top"从上到下触发
$("#d").scrollFix("bottom","top");
滚动到距离下面0时开始固定,指定"bottom"从下到上触发
实现代码:
复制代码 代码如下:
核心代码:
;(function($) { jQuery.fn.scrollFix = function(height, dir) { height = height || 0; height = height == "top" ? 0 : height; return this.each(function() { if (height == "bottom") { height = document.documentElement.clientHeight - this.scrollHeight; } else if (height =0表示上面的滚动高度大于等于目标高度 return (document.documentElement.scrollTop || document.body.scrollTop) + height - that.offset().top; } $(window).scroll(function() { if (oldHeight === false) { if ((getHeight() >= 0 && dir == "top") || (getHeight() oldHeight) { that.css({ position: "static" }); oldHeight = false; } } }); } else { //for ie6 $(window).scroll(function() { if (oldHeight === false) { //恢复前只执行一次,减少reflow if ((getHeight() >= 0 && dir == "top") || (getHeight() oldHeight)) { //结束 that[0].style.position = "static"; p.replaceChild(that[0], r); r = null; oldHeight = false; } else { //滚动 that.css({ left: l, top: height + document.documentElement.scrollTop }) } }); } }); }; })(jQuery);
推荐阅读
-
jQuery scrollFix滚动定位插件实现原理解析
-
js点击出现悬浮窗效果不使用JQuery插件_javascript技巧
-
jquery实现的图片点击滚动效果_javascript技巧
-
javascript跟随滚动效果插件代码(javascript Follow Plugin)_javascript技巧
-
JavaScript/jQuery 表单美化插件小结_javascript技巧
-
jquery实现的图片点击滚动效果_javascript技巧
-
javascript跟随滚动效果插件代码(javascript Follow Plugin)_javascript技巧
-
JavaScript/jQuery 表单美化插件小结_javascript技巧
-
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)_javascript技巧
-
属于你的jQuery提示框(Tip)插件_javascript技巧