【问题标题】:Is it possible to add class active without using a href?是否可以在不使用 href 的情况下添加活动类?
【发布时间】:2017-10-13 21:40:46
【问题描述】:

我创建了一个 1 寻呼机网站,但我使用 js 来避免在 url 中看到哈希。
HTML:

<ul class="click crsl">
    <li><a class="page1 dot active"></a></li>
    <li><a class="page2 dot"></a></li>
    <li><a class="page3 dot"></a></li>
    <li><a class="page4 dot"></a></li>
</ul>

JS:

<script type="text/javascript">
    $(".page1").click(function() {
        $('html, body').animate({
            scrollTop: $("#pageOne").offset().top
        }, 1000);
    });
    <-- up to page4 and #pageFour -->
</script>

所有教程都向我展示了如何将活动类添加/删除到li a 标签,但它们都使用`a href="#idOfDiv"。
这将导致我的第一个脚本无用,因为 url 将是

http://mywebpage.com/#pageOne

【问题讨论】:

  • 只需使用addClass()href 和类无关
  • 只需检查我的解决方案,它将适用于各种情况
  • @NikhilGhuse 是的,您的答案是正确的。无法在 6 分钟内接受答案
  • 无论如何你能检查我的问题的变化吗?对此感到抱歉
  • 为什么不......?是的,你可以

标签: javascript jquery


【解决方案1】:

您可以在 click 处理程序中添加类:

<script type="text/javascript">
    $(".dot").click(function() {
        $('html, body').animate({
            scrollTop: $("#pageOne").offset().top
        }, 1000);
        $('.active').removeClass('active');
        $(this).addClass("active");
    });
</script>

【讨论】:

  • @NikhilGhuse 这个答案是在大约 30 秒前提交的。
  • 别担心,伙计们,我们给了他正确的答案,这才是最重要的。
  • 是的,它是..因为他添加了我除了他的回答之外的同一行,这就是为什么......
【解决方案2】:
   <ul class="click crsl">
     <li><a class="page1 dot active"></a></li>
     <li><a class="page2 dot"></a></li>
     <li><a class="page3 dot"></a></li>
     <li><a class="page4 dot"></a></li>
  </ul>

JS:

<script type="text/javascript">
  $("li a").click(function() {
     $('html, body').animate({
        scrollTop: $("#pageOne").offset().top
     }, 1000);
      $('.active').removeClass('active');
      $(this).addClass('active');
});

<-- up to page4 and #pageFour -->
 </script>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-26
  • 2011-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多