Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21942

Prośba o wyjaśnienie kodu jquery

$
0
0

Na CSS-tricks.com trafiłem na taki oto kod do utworzenia efektu Smooth Scrolling. Drugą linię kodu chyba rozumiem- łapiemy znaczniki a których wartość parametru href zawierają ale nie te atrybuty href, które mają tylko wartość #. W trzeciej lini kodu nie wiem dlaczego znaki /^\// w ścieżce zastępuje się ' '. Ale największą niewiadomą jest dla mnie piąta linia kodu.

target = target.length ? target : $('[name=' + this.hash.slice(1) +']');

Co tutaj tak naprawdę się dzieje? Dlaczego łapiemy atrybut 'name' jeśli żaden znacznik html w kodzie strony go nie posiada? Dodaje też link do codepen gdzie przedstawione jest działanie tego kodu.

$(function() {
  $('a[href*="#"]:not([href="#"])').click(function() {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
      var target = $(this.hash);
      target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
      if (target.length) {
        $('html, body').animate({
          scrollTop: target.offset().top
        }, 1000);
        return false;
      }
    }
  });
});

 


Viewing all articles
Browse latest Browse all 21942

Trending Articles


Sprawdź z którą postacią z anime dzielisz urodziny


MDM - Muzyka Dla Miasta (2009)


Częstotliwość 3.722MHz


POSZUKIWANY TOMASZ SKOWRON-ANGLIA


Ciasto 3 Bit


Kasowanie inspekcji Hyundai ix35


Steel Division 2 SPOLSZCZENIE


SZCZOTKOWANIE TWARZY NA SUCHO


Potrzebuje schemat budowy silnika YX140


Musierowicz Małgorzata - Kwiat kalafiora [audiobook PL]