javascript - 导航不会在滚动时改变大小

标签 javascript jquery html css

所以我发现这个 jquery 代码可以让我的导航在用户开始滚动时改变它的大小。它似乎没有工作,但...

$(function(){
    $('.nav').data('size','big');
});

$(window).scroll(function(){
    var $nav = $('.nav');
    if ($('body').scrollTop() > 0) {
        if ($nav.data('size') == 'big') {
            $nav.data('size','small').stop().animate({
                height:'60px'
            }, 600);
        }
    } else {
        if ($nav.data('size') == 'small') {
            $nav.data('size','big').stop().animate({
                height:'40px'
            }, 600);
        }  
    }

所有代码如下: http://codepen.io/DerekDev/pen/Bydgpz

因此,如果你们中的任何人有解决方案,我们将不胜感激。谢谢 :)

最佳答案

试试这个:

$(function() {
    $(window).scroll(function() {    
    var nav = $('.nav');
    if ($(window).scrollTop() >= 0) {
      if(!nav.hasClass("smallNav")) {
        nav.hide();
        nav.removeClass('bigNav').addClass("smallNav").fadeIn( "slow");
      }
    } else {
      if(!nav.hasClass("bigNav")) {
        nav.hide();
        nav.removeClass("sml-logo").addClass('bigNav').fadeIn( "slow");
      }
    }

  });
});

和 CSS 规则:

.bigNav{
height:60px;
}
.smallNav{
height:40px;
}

关于javascript - 导航不会在滚动时改变大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28253675/

相关文章:

javascript - 使用 jquery 手动提交带有特定提交的表单

html - IE7 CSS Mega 菜单问题

css - 调整大小传感器 - 在 CSS 中按比例调整 div 大小

javascript - 使用 Jquery 的条件日期

javascript - 每次点击添加按钮添加一个

jquery - 在 map 上做热点有什么好办法

php - 使用 jquery 从显示页面上的 php 输出中获取信息

javascript - 如何在 JavaScript 中实现 MATLAB 的 "eig(A, B)"函数

javascript - 在 headless Chrome 上运行 Cucumber 测试

javascript - 如何防止具有特定属性的 HTML 标记在 Google Chrome 中显示