jquery - 从加载的 anchor 向后滚动时,带有 jQ​​uery 的 CSS 类未正确应用于 div

标签 jquery html css

我在 Bootstrap 3 网站中构建了第二个菜单 (#service-div),当您向下滚动页面时它会改变其外观(请参阅 jQuery),即应用了收缩类。

这本身就完美无缺。

但是,当我用指定的 anchor 加载页面时,问题就出现了 (例如 http://localhost/services.html#service6)并向上滚动(见最后一张图片)。 在这种情况下,未正确应用原始设置,这会破坏菜单。

如果您建议如何解决此问题,我将不胜感激。

HTML

<!-- service-nav -->
    <div id="service-nav">

      <div class="container-fluid">

        <div class="container text-center">

          <ul class="nav">
            <li> <a href="#service1"><i class="fa fa-cloud fa-3x"></i><p>Test</p></a></li>
            <li> <a href="#service2"><i class="fa fa-terminal fa-3x"></i><p>Test</p></a></li>
            <li> <a href="#service3"><i class="fa fa-cog fa-3x"></i><p>Test</p></a></li>
            <li> <a href="#service4"><i class="fa fa-comment fa-3x"></i><p>Test</p></a></li>
            <li> <a href="#service5"><i class="fa fa-keyboard-o fa-3x"></i><p>Test</p></a></li>
            <li> <a href="#service6"><i class="fa fa-shield fa-3x"></i><p>Test</p></a></li>
          </ul>   

        </div>

      </div>

    </div><!-- /.service-nav -->

jQuery

<script>

    $(window).scroll(function() {    

    $("#service-nav").removeClass("shrink");

    var scroll = $(window).scrollTop();

    if (scroll >= 650) {
      $("#service-nav").addClass("shrink");
      }
    });

</script>

.shrink {

    ul li {
        padding: 10px 50px 10px 50px !important;
    }

    i {
        font-size: 29px;
    }

    p {
        display: none;
    }
}

初始菜单

enter image description here

滚动后应用于菜单的收缩类

enter image description here

从 anchor 向上滚动时菜单损坏

enter image description here

最佳答案

认为您可以尝试在页面加载时调用该函数 像这样的东西:

function scrolling() {    

$("#service-nav").removeClass("shrink");

var scroll = $(window).scrollTop();

if (scroll >= 650) {
  $("#service-nav").addClass("shrink");
  }
}

$(function()
{ 
    scrolling();
    $(window).scroll(scrolling);
});

关于jquery - 从加载的 anchor 向后滚动时,带有 jQ​​uery 的 CSS 类未正确应用于 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23567700/

相关文章:

javascript - 使用 Javascript/Jquery 停止 html 声音

javascript - 使用 jQuery 验证插件对输入进行条件 url 验证

html - 固定导航栏覆盖的间距元素

css - Opera 和 IE (Window/Linux) 中的过滤器 :blur. svg 不起作用

javascript - JQuery DataTables 默认排序不起作用

html - Font Face 不适用于 Internet Explorer 10.. 为什么?

html - 悬停时显示 IE6 li

javascript - 在我的代码中使用 masonry JS

jQuery - 如果悬停则更改背景图像

jquery - 如何为 iPad 构建 GMAIL 等 iPad Web 应用程序