获取元素(这里定位元素A)距离顶部的高度,接着设定scroll滚动的事件,比如超过那个高度,把A的位置设定为fixed,小于该高度,修改回relative。
效果如下:

示例代码例1:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(function() {
var elm = $('#pordAttr');
var startPos = $(elm).offset().top;
$.event.add(window, "scroll", function() {
var p = $(window).scrollTop();
$(elm).css('position',((p) > startPos) ? 'fixed' : 'static');
$(elm).css('top',((p) > startPos) ? '0px' : '');
});
});
</script>
示例代码例2:
•$(function(){
•//获取要定位元素距离浏览器顶部的距离
•var navH = $(".nav").offset().top;
•//滚动条事件
•$(window).scroll(function(){
•//获取滚动条的滑动距离
•var scroH = $(this).scrollTop();
•//滚动条的滑动距离大于等于定位元素距离浏览器顶部的距离,就固定,反之就不固定
•if(scroH>=navH){
•$(".nav").css({"position":"fixed","top":0});
•}else if(scroH<navH){
•$(".nav").css({"position":"static"});
•}
•})
•})
这种只要超过我们固定的位置我们就可以随便用户滚动而滚动了。
本文介绍如何通过JavaScript监听滚动事件,根据元素距离窗口顶部的高度调整其定位状态,实现元素在滚动过程中灵活切换固定与相对布局。
1311

被折叠的 条评论
为什么被折叠?



