Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Плавная прокрутка к якорю на другой странице

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

xocotl

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые специалисты, помогите найти решение следующего вопроса:
Мне надо чтобы при открытии по ссылки отрывалась необходимая страница сайта и сразу прокручивалась до якорной метки.
 
Пересмотрел весь интернет там все скрипты работают только на той же странице
когда ссылка выглядит  #figny, а мне надо /magaz/tovars#figny
 
Вот например пару из популярных скриптов:
1 вариант
<script>
jQuery(document).ready(function() {
  jQuery("a.scrollto").click(function () {
    elementClick = jQuery(this).attr("href")
    destination = jQuery(elementClick).offset().top;
    jQuery("html:not(:animated),body:not(:animated)").animate({scrollTop: destination}, 1100);
    return false;
  });
});
</script>
 
<a class="scrollto" href="#p2"> Плавная прокрутка  </a>
 
 
2 вариант
<script type="text/javascript">
$(function(){
        $("a[href^='#']").click(function(){
                var _href = $(this).attr("href");
                $("html, body").animate({scrollTop: $(_href).offset().top+"px"});
                return false;
        });
});
</script>
 
Ни один не работает когда ссылка на якорь на другую страницу,
Помогите пожалуйста может что то надо в скрипте изменить, дописать?

Всего записей: 32 | Зарегистр. 17-02-2017 | Отправлено: 12:06 23-10-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xocotl

Цитата:
Мне надо чтобы при открытии по ссылки отрывалась необходимая страница сайта и сразу прокручивалась до якорной метки

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

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 19:15 23-10-2017
xocotl

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прокручивается но моментально, а надо плавно

Всего записей: 32 | Зарегистр. 17-02-2017 | Отправлено: 23:20 23-10-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xocotl

Цитата:
Прокручивается но моментально, а надо плавно

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

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 23:37 23-10-2017
xocotl

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii Мне вообще эта затея не нравится и кажется глупой. Просто заказчик хочет и тут приходится выкручиваться.  
 

Всего записей: 32 | Зарегистр. 17-02-2017 | Отправлено: 00:08 24-10-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xocotl
ок, переспрошу иначе - с какого места вы хотите прокручивать страницу, если она еще только грузится? ждать "наверху" пока она загрузится, а затем перематывать? какой смысл, если она сама окажется там, где метка как только та метка загрузится?

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 01:14 24-10-2017
xocotl

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нда получается странновато ... Попробую все таки убедить заказчика завтра чтоб он отказался от плавности
 
Спасибо за совет

Всего записей: 32 | Зарегистр. 17-02-2017 | Отправлено: 01:57 24-10-2017
xocotl

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все Таки пришлось решать проблему и нашел просто скрипт
который подкручивает страницу
Вот он:
<script type="text/javascript">
    $(function() {
  $('body').animate({'scrollTop':'650px'});
});</script>
 
 
Но проблема оказалась в том что работает он только в сафари, а в опере, фаэрфоксе, хроме не работает. В эксплоуэре кстати не знаю у меня его нет.
 
Подскажите пожалуйста, как сделать чтобы он заработал во всех браузерах?
 

Всего записей: 32 | Зарегистр. 17-02-2017 | Отправлено: 16:15 31-10-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xocotl

Цитата:
чтобы он заработал во всех браузерах


Цитата:
$("html, body")


Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 16:54 31-10-2017
xocotl

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Спасибо ! Заработал!!

Всего записей: 32 | Зарегистр. 17-02-2017 | Отправлено: 19:01 31-10-2017
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Плавная прокрутка к якорю на другой странице


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru