JQuery

1个成员

Jquery DIV滚动至浏览器顶部后固定不动代码

发表于 2017-02-01 3192 次查看
获取元素(这里定位元素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"});

•}

•})

•})

这种只要超过我们固定的位置我们就可以随便用户滚动而滚动了。

发表回复
你还没有登录,请先登录注册