【问题标题】:scrolling id# on the same page does not work correctly when jquery page fading on load is included包含 jquery 页面在加载时褪色时,在同一页面上滚动 id# 无法正常工作
【发布时间】:2018-03-07 20:39:44
【问题描述】:

当我包含一个 jquery 页面淡出和淡入时,我在同一页面上的 id# 链接出现问题。当我刚刚拥有纯 html 时,它工作正常。

澄清:我有一个相同的部分,并在顶部的导航区域中有一个链接,该链接向下滚动到页面的下半部分。当 jquery 代码作为单独的 js 文件或作为链接向下滚动的 html 页面的一部分包含时(我想要这样做),但它也会淡出,而我不希望它这样做。

听到 jquery 淡入淡出代码:

jQuery('body').css('display','none');
jQuery(document).ready(function() {
jQuery('body').fadeIn();
jQuery('a').on('click',function(event){
var thetarget = this.getAttribute('target')
if (thetarget != "_blank"){
var thehref = this.getAttribute('href')
event.preventDefault();
jQuery('body').fadeOut(function(){
window.location = thehref
});
}
});
});
setTimeout(function(){
jQuery('fade').fadeIn();
},1000)

HTML 代码不起作用

      <li class="nav-item">
        <a class="nav-link js-scroll-trigger" 
href="#portfolio">Portfolio</a>
      </li>
      <li class="nav-item">
        <a class="nav-link js-scroll-trigger" href="about.html">About</a>
      </li>

我是否针对错误的元素。我也尝试过更改,但无济于事。

需要帮助!

【问题讨论】:

    标签: javascript jquery html css


    【解决方案1】:

    提示:不要将事件监听器(onclick)绑定到所有&lt;a&gt;&lt;/a&gt;标签。只需使用它的特定 ID 或类名将其绑定到一个!


    所以我编辑了这一行

    jQuery('a').on('click', function(event)
    

    jQuery('#about').on('click', function(event)
    

    并将 ID="about" 标签添加到您的链接中。


    jQuery('body').css('display', 'none');
    jQuery(document).ready(function() {
      jQuery('body').fadeIn();
      jQuery('#about').on('click', function(event) {
        var thetarget = this.getAttribute('target')
        if (thetarget != "_blank") {
          var thehref = this.getAttribute('href')
          event.preventDefault();
          jQuery('body').fadeOut(function() {
            window.location = thehref
          });
        }
      });
    });
    setTimeout(function() {
      jQuery('fade').fadeIn();
    }, 1000)
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <li class="nav-item">
      <a class="nav-link js-scroll-trigger" href="#portfolio">Portfolio</a>
    </li>
    <li class="nav-item">
      <a id="about" class="nav-link js-scroll-trigger" href="https://google.com">About</a>
    </li>

    如果您不想要这个结果,编辑会帮助您解决问题。因为至少你完全把我弄糊涂了。让我知道你的问题是什么。 :)

    【讨论】:

    • 澄清:在同一页面上,我在导航中有一个链接,该链接向下滚动到页面的下半部分。当 jquery 代码作为单独的 js 文件或作为链接向下滚动的 html 页面的一部分包含时(我想要这样做),但它也会淡出,而我不希望它这样做。
    • 我不希望它在投资组合链接向下滚动到页面下半部分后淡出
    • 所以你只想在点击“关于”链接后运行动画?并禁用此动画单击投资组合 href? @RajivNarayanan
    • 是的。那是对的。谢谢你的帮助。仍然有问题。我对 js 和 jquery 还是很陌生
    • 你看过我的编辑了吗?不要将事件侦听器 (onclick) 绑定到所有 &lt;a&gt;&lt;/a&gt; 标记。只需使用它的特定 ID 或类名 @RajivNarayanan 将其绑定到一个即可
    猜你喜欢
    • 1970-01-01
    • 2018-08-05
    • 1970-01-01
    • 2012-09-17
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多