Skocz do zawartości

Przewijanie strony do wybranego fragmentu HTML JS


Recommended Posts

Otóż mam stronę 'one-page'. Jest na górze menu, po kliknięciu w którąś opcję przewija się stronka do wybranego fragmentu. Działa mi to w Chrome, Vivaldi, Opera, Edge, nie działa w Internet Explorerze 11 oraz Firefoxie. Chciałbym by działało we wszystkich przeglądarkach...

 

kod js:

$(document).ready(function() {
  $("#oferta").click(function() {
    $('html, body').animate({
      scrollTop: $("#ofertaa").offset().top - 120
    }, 1000);
  });
});

$(document).ready(function() {
  $("#kontaktt").click(function() {
    $('html, body').animate({
      scrollTop: $("#kontakt").offset().top - 120
    }, 1000);
  });
});

$(document).ready(function() {
  $("#dojazdd").click(function() {
    $('html, body').animate({
      scrollTop: $("#dojazd").offset().top - 120
    }, 1000);
  });
});

$(document).ready(function() {
  $("#ofirmiee").click(function() {
    $('html, body').animate({
      scrollTop: $("#firma").offset().top - 120
    }, 1000);
  });
});

Pomoże ktoś?

Link to post
Share on other sites

Ten JS działa w każdej przeglądarce. Albo masz go wyłączonego w części przeglądarek, abo błąd jest w HTML. To działa w IE, Chrome, FF:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery Example</title>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.6.1.min.js"></script>
<script type="text/javascript">
  $(document).ready(function() {
    $("#oferta").click(function() {
      $('html, body').animate({
      scrollTop: $("#ofertaa").offset().top - 120
    }, 1000);
  });
});

$(document).ready(function() {
  $("#kontaktt").click(function() {
    $('html, body').animate({
      scrollTop: $("#kontakt").offset().top - 120
    }, 1000);
  });
});
</script>
<style>
  .big {height: 2000px;}
</style>
</head>
<body>
  <button id="ofertaa">oferta</button>
  <button id="kontaktt">kontakt</button>
  <div id="oferta" class="big">oferta</div>
  <div id="kontakt" class="big">kontakt</div>
</body>
</html>
  • Popieram 1
Link to post
Share on other sites

Dziękuję ślicznie za odpowiedź, jednak problem rozwiązałem trochę inaczej wczoraj już po południu, tylko zapomniałem napisać. W HTMLu użyłem a href'ów zamiast buttonów i spanów z id, a w javascripcie te 4 podobne do siebie funkcje zmieniłem na jedną:

$('#wybor a').click(function(){
    var $href = $(this).attr('href');
    var $anchor = $($href).offset().top - 130;
    $('html, body').animate({ scrollTop: $anchor }, 1000);
    return false;
});

Link to post
Share on other sites

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Odpowiedz w tym wątku...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...