【问题标题】:URL href failing: Anchors, URL, and JavascriptURL href 失败:锚点、URL 和 Javascript
【发布时间】:2017-09-15 08:47:25
【问题描述】:

我正在使用 javascript 进行平滑滚动(在下面的脚本标签中),并且还有用于锚链接的 href。所有锚点都工作正常,但 javascript 似乎正在禁用 URL 的 href。你能帮我重写一下,这样也能正常工作吗?

<ul class="snip1143">
    <li class><a href="#home1" data-hover="Home">Home</a></li>
    <li><a href="#about1" data-hover="About">About</a></li>
    <li><a href="#experience1" data-hover="Work">Work</a></li>
    <li><a href="URL HERE" data-hover="Blog">Blog</a>   </li
    <li><a href="#contact1" data-hover="Contact">Contact</a></li>

<script>

  $(document).on('click', 'a', function(event) {
      event.preventDefault();

      $('html, body').animate({
          scrollTop: $( $.attr(this, 'href') ).offset().top
      }, 500);
  });

</script>

【问题讨论】:

  • 在任何事情之前你应该修复你的标记。 4th li 需要一个结束标签。你的 ul 也需要一个结束标签

标签: javascript html css href


【解决方案1】:

event.preventDefault() 将阻止默认值,对于锚点,默认值将指向该 url。您可能希望将一个类添加到要设置动画的锚点并仅选择那些而不是阻止所有锚点标签的默认设置。

【讨论】:

  • 如果可能,请用代码详细说明。我有点新手。感谢您的意见。
【解决方案2】:

实际上,因为每个元素都有唯一的data-hover,所以我们要做的就是通过验证其data-hover 属性的值来过滤它。

<script>

  $(document).on('click', 'a', function(event) {
      if($(this).data('hover') !== "Blog"){       
       $('html, body').animate({
          scrollTop: $( $.attr(this, 'href') ).offset().top
       }, 500);
    }// since i noticed that you want to redirect the page once the Blog link is clicked
  });

</script>

如果这对您的问题有帮助,请告诉我。

【讨论】:

  • 谢谢,这对我有用!不幸的是,所有其他 href 链接现在在菜单栏上的“博客”之外被禁用。我有办法解决这个问题吗?另一个提到可能使用一个类。你能帮我实现吗?
  • 嗨,如果您想为链接(hrefs)设置默认操作,您只需在条件语句中为它们设置一些验证,比如“博客”、“工作”和“联系”选项卡(或按钮或任何您称之为的),如果您希望这 3 个执行其默认重定向操作,请在此处包含它们 if($(this).data('hover') !== "Blog"){ 和所以它是这样的 if(($(this).data('hover') !== "Blog") || ($(this).data('hover') !== "Work") || ( $(this).data('hover') !== "Contact")){ 然后插入 event.preventDefault();我希望你对我的回答有所启发。
  • 这些其他 URL 链接遍布我的页面(不在菜单栏上),但我需要它们才能工作。我了解如何使菜单栏中的 URL 链接正常工作,但是那些分散在我的页面中的其他链接呢?他们都是残疾人。有什么方法可以在我的情况下挑选出那些?
  • 你能帮我把它写成菜单中除“博客”之外的所有内容吗?这样我页面上的其他链接就可以工作了
  • 您好,请尝试上面的新代码,我将它们修改为删除阻止默认设置,这次其余链接将受到您在“博客”链接之外设置的动画的影响,试试这个看看如果它可以满足您的要求。
猜你喜欢
  • 2011-10-15
  • 2015-11-18
  • 2014-07-01
  • 1970-01-01
  • 2013-03-27
  • 1970-01-01
  • 2015-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多