javascript - 检测向下滚动

标签 javascript jquery

<分区>

我需要找到一种方法来在元素不再位于其默认位置时更改 css,并且当用户将其向后滚动时,默认 css 将被设置回来。

示例:我有一个高度为 30px 的固定标题,它的位置是 top: 0 ,当用户向下滚动时,高度将为 15px ,如果用户向上滚动并且标题得到它的初始top: 0 的位置,高度又是30px。

我试过这样的:

var location = $('#header').offset();
        $( "#header" ).scroll(function() {
           if(location.top!=0){
               $('#header').css({'height': '4vw'});
           }else{
               $('#header').css({'height': '6vw'});
           }
        });

最佳答案

您可以使用 window on scroll 检查滚动位置;您可以使用 $(window).scrollTop()

获取滚动位置
$(window).on('scroll', function () {
    var scrollTop = $(window).scrollTop();
    if (scrollTop > 50) {
        $('#header').stop().animate({height: "30px"},200);
    }
    else {
         $('#header').stop().animate({height: "15px"},200);   
    }
});

祝你有美好的一天......

关于javascript - 检测向下滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31447116/

相关文章:

jquery如何使用for循环添加对象?

javascript - 如何防止人们使用鼠标滚轮滚动按下我们的触摸拖动?

javascript - ExtJs:最佳列表组件?网格的功能太多了

javascript - 验证方法以从列表中选择至少一项

javascript - Jquery Mobile "tap"事件错误

javascript - React 协调 - props diff

javascript - Flexslider 无法使用 Jquery 自动生成内容

javascript - 在这个用例中 $interval 和 $timeout 之间有真正的区别吗?

javascript - 可以在 C++ 中模仿这种 JS 语法吗?

javascript - jQuery .text() 方法返回在其他函数中变成 NaN