VladSI

Плавный скрол до начала карточки объявления

Recommended Posts

при загрузке.

       setTimeout(function() {
           if (window.location.hash) {              
            var hash = window.location.hash.substr(1);
              var scrollPos = $('a[name='+hash+']').offset().top;
            $("html, body").animate({ scrollTop: scrollPos }, 1000);   
         }
       }, 1);

Как встроить?

Сейчас поставил это:

 
$(document).ready(function(){
          var scrollTop = $('#row_ad').offset().top;
          $(document).scrollTop(scrollTop);
});

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Собрал так, плавный скролл.

 
$(document).ready(function(){
    var scrollTop = $('#row_ad').offset().top;
$('html, body').animate({ scrollTop: $(row_ad).offset().top }, 1200);
});
 
Это правильно в плане кросбраузерности?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Собрал так, плавный скролл.

 
$(document).ready(function(){
    var scrollTop = $('#row_ad').offset().top;
$('html, body').animate({ scrollTop: $(row_ad).offset().top }, 1200);
});
 
Это правильно в плане кросбраузерности?

 

А зачем тут 

var scrollTop = $('#row_ad').offset().top;

? Это же переменная, но она нигде не используется.

Ну и в

$('html, body').animate({ scrollTop: $(row_ad).offset().top }, 1200);

$(row_ad) должно быть либо $('.row_ad') если row_ad типа class, либо $('#row_ad') если row_ad типа id (в данном случае тут похоже id). 

А насчёт кроссбраузерности, тут её на себя берёт сама jquery, если ветка 1.x то начиная с IE6 поддерживается почти всё.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А зачем тут 

var scrollTop = $('#row_ad').offset().top;

? Это же переменная, но она нигде не используется.

Ну и в

$('html, body').animate({ scrollTop: $(row_ad).offset().top }, 1200);

$(row_ad) должно быть либо $('.row_ad') если row_ad типа class, либо $('#row_ad') если row_ad типа id (в данном случае тут похоже id). 

А насчёт кроссбраузерности, тут её на себя берёт сама jquery, если ветка 1.x то начиная с IE6 поддерживается почти всё.

Да там id, решётку добавить значит нада?

offset().top ещё подправил, а то ни туда приезжало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А насчёт кроссбраузерности, тут её на себя берёт сама jquery, если ветка 1.x то начиная с IE6 поддерживается почти всё.

А переменная в $() разве не влияет? Я про неё спрашиваю, что правильней вписать document или 'html, body'

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас