Исключить теги "a" с определенным родителем из функции прокрутки jquery - PullRequest
0 голосов
/ 27 мая 2019

Я реализовал плавную прокрутку на своей странице с помощью скрипта, который я приведу ниже. но я также реализовал раздел вкладок. и я не хочу, чтобы там была плавная прокрутка.

это мой код jquery:

$('a[href*="#"]')
    // Remove links that don't actually link to anything
    .not('[href="#"]')
    .not('[href="#0"]')
    .click(function(event) {
      // On-page links
      if (
        location.pathname.replace(/^\//, "") ==
          this.pathname.replace(/^\//, "") &&
        location.hostname == this.hostname
      ) {
        // Figure out element to scroll to
        var target = $(this.hash);
        target = target.length
          ? target
          : $("[name=" + this.hash.slice(1) + "]");
        // Does a scroll target exist?
        if (target.length) {
          // Only prevent default if animation is actually gonna happen
          event.preventDefault();
          $("html, body").animate(
            {
              scrollTop: target.offset().top - 91
            },
            1000,
            function() {
              // Callback after animation
              // Must change focus!
              var $target = $(target);
              $target.focus();
              if ($target.is(":focus")) {
                // Checking if the target was focused
                return false;
              } else {
                $target.attr("tabindex", "-1"); // Adding tabindex for elements not focusable
                $target.focus(); // Set focus again
              }
            }
          );
        }
      }
    });

я хочу исключить все элементы, которые являются потомками класса service-menu-area.

я предоставлю HTML:

<div class="service-menu-area">
  <ul class="nav">
      <li>
        <a class="active" data-toggle="tab" href="#spa">
              <span class="service-icon">
                  <img src="img/icon/service-icon1.png" alt="">
              </span>
         <span class="service-title">Room Service</span>
         <span class="text">
         <span>Room Service</span> 
         luptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia 
         </span>
         </a>
     </li>
</ul>
</div>

, поэтому я ожидаю, что при нажатии на одну из вкладок html я не вижу никакой анимации прокрутки.

1 Ответ

1 голос
/ 27 мая 2019

Вы можете добавить .not('.service-menu-area a') перед добавлением обработчика .click.

...