Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Плавный скролл к div после клика, но уже на другой странице (https://javascript.ru/forum/css-html/56603-plavnyjj-skroll-k-div-posle-klika-no-uzhe-na-drugojj-stranice.html)

Quark_ 24.06.2015 20:59

Плавный скролл к div после клика, но уже на другой странице
 
Привет всем. Нужна помощь в поиске решения...
Суть: на странице №1 есть ссылка вида <a class="anchor" href="страница №2#div">...</a> т.е. при клике происходит мгновенный переход на другую страницу к диву, имеющий соответствующий id.
Как сделать, чтобы происходил плавный скроллинг к этому div?
Для скролла по якорям использую такой код:
(function ($) {
  $.fn.anchorAnimate = function(options) {
    var settings = $.extend({}, $.fn.anchorAnimate.defaults, options);

    return this.each(function() {
      var caller = this;
      $(caller).click(function(event) {
        event.preventDefault();
        var elementClick = $(caller).attr("href");

        var destination = $(elementClick).offset().top + settings.offset;
        $("html:not(:animated), body:not(:animated)").animate({ scrollTop: destination}, settings.speed, function() {
          if(0 === settings.offset) {
            window.location.hash = elementClick;
          }
        });
        return false;
      });
    });
  };

  $.fn.anchorAnimate.defaults = {
    speed: 500,
    offset: -120
  };
}(jQuery));

$(document).ready(function() {
$("a.anchor").anchorAnimate();
});

Т.е. получается надо поймать событие при клике на одной странице и "передать" его при переходе на другую? Как это сделать? :help:

рони 24.06.2015 21:47

Quark_,
http://javascript.ru/forum/jquery/16...tml#post319183

Quark_ 24.06.2015 23:02

Цитата:

Сообщение от рони (Сообщение 376491)

Этот вариант не совсем подходит т.к.:
1 надо подключать мутулз
2 для Fx не работает offset, а он обязательно нужен)

рони 24.06.2015 23:16

Цитата:

Сообщение от Quark_
1 надо подключать мутулз
2 для Fx не работает offset, а он обязательно нужен)

ещё бы понять о чём это вы?

рони 24.06.2015 23:43

Quark_,
не хотите через пару строк кода , можно и с помощью вашего плагина, суть не меняется.
$(document).ready(function() {
$("a.anchor").anchorAnimate();
$("html,body").scrollTop("0");
var hash = window.location.hash;
hash &&  $("a.anchor[href='"+hash+"']").click();
});

главное чтоб на странице 2 был этот плагин и нужная ссылка

Quark_ 25.06.2015 09:46

Цитата:

Сообщение от рони (Сообщение 376501)
ещё бы понять о чём это вы?

Имел в виду, что по ссылке был пример того, что мне надо, но там без подгрузки mototools он не работает, а всю библиотеку грузить ради этого не хотелось бы)

Quark_ 25.06.2015 09:46

Цитата:

Сообщение от рони (Сообщение 376503)
Quark_,
не хотите через пару строк кода , можно и с помощью вашего плагина, суть не меняется.
$(document).ready(function() {
$("a.anchor").anchorAnimate();
$("html,body").scrollTop("0");
var hash = window.location.hash;
hash &&  $("a.anchor[href='"+hash+"']").click();
});

главное чтоб на странице 2 был этот плагин и нужная ссылка

СПС, то, что надо!


Часовой пояс GMT +3, время: 06:58.