Создать ответ 
Кнопки вниз с точным позиционированием
Автор Сообщение
Татьяна Не на форуме
Ефрейтор
*

Сообщений: 11
У нас с: Aug 2014
Сообщение: #1
Question Кнопки вниз с точным позиционированием
Здравствуйте. Подскажите, очень срочно надо.

$("html, body").animate({scrollTop:$("#stop").offset().top},"slow")
$("html,body").animate({scrollTop:$(window).scrollTop()+200},"slow")

Как совместить функционал этих двух строк или сделать как-то иначе, чтобы точно выйти на объект, плеер получается пикселей на 200 ниже задуманного. Пробовала по div выше и ниже объекта - не получается.Crying
10.08.2014 23:07:23
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #2
RE: Кнопки вниз с точным позиционированием
А как надо? Хоть скриншот что ли дали...

$("html,body").animate({scrollTop:200},"slow") - может стоит так попробовать?

Скиньте лучше ссылку на проблемную страничку в ЛС.

P.S. Из комментариев Ваш вопрос удалил, т.к. у Вас скорее всего частный случай.
10.08.2014 23:13:18
Найти все сообщения Цитировать это сообщение
Татьяна Не на форуме
Ефрейтор
*

Сообщений: 11
У нас с: Aug 2014
Сообщение: #3
RE: Кнопки вниз с точным позиционированием
В первом посте не совсем точно описала проблему, попробую изложить подробнее. Не программист, извините.
У меня работает $("html, body").animate({scrollTop:$("#stop").offset().top},"slow"), фактически то, что нужно. Ориентирую по классу div.***. Задача направить пользователя по кнопке "Вниз" (у меня "Просмотр видео") на флеш плеер (промотать текст, вывести плеер на середину экрана). Пробовала ориентировать по ближайшим к коду плеера div-id-классам, получается либо -"недоезд", либо "переезд". Не получается спозиционировать плеер точно по центру. Скрипт замечательный, проблема только с точностью позиционирования, если не нужно проматывать все до футера, а необходимо остановиться на определенном элементе. По "#stop" не совсем точно получается, нужна возможность доводки +/-200px или другой способ позиционирования.
11.08.2014 12:48:43
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #4
RE: Кнопки вниз с точным позиционированием
Так просто вычтите 200 пикселей от положения плеера...

Предположим, что плеер имеет id pleer (должен же у него быть какой-то id), тогда код будет выглядеть так:
Код:
$(document).ready(function(){
$(".str_down").click(function(){$("html,body").animate({scrollTop:$("#pleer").offset().top-200},"slow")});
});

Таким образом, при выполнении данного кода, страничка будет прокручена не доходя до верхнего края плеера 200 пикселей.

$(document).ready(function(){ }); нужно для того, чтобы скрипт сработал не раньше, чем загрузилась страничка, иначе возможен вариант, что скрипт прокрутил страничку, а подгрузка контента продолжается и плеер плавно уезжает.
11.08.2014 20:00:57
Найти все сообщения Цитировать это сообщение
Татьяна Не на форуме
Ефрейтор
*

Сообщений: 11
У нас с: Aug 2014
Сообщение: #5
RE: Кнопки вниз с точным позиционированием
Получилось.Smile Теперь можно вывести объект с точностью, как было задумано. Работает только со второго клика, я видимо перемудрила.Be Получается две .click(function(), если одну из них убираю - скрипт не работает.

Вот такой код получился:

Код:
<script type="text/javascript">
jQuery(function(){
$("#video").hide().removeAttr("href");
if ($(window).scrollTop()<=$(document).height()-"999") $("#video").fadeIn("slow")
$(window).scroll(function(){
if ($(window).scrollTop()>=$(document).height()-"999") $("#video").fadeOut("slow")
else $("#video").fadeIn("slow")
});
$("#video").click(function(){
$(document).ready(function(){
$("#video").click(function(){$("html,body").animate({scrollTop:$(".fullplayer").offset().top-200},"slow")});
});
})
});
</script>

Оставила "промотку" сверху - вниз, наоборот мне не нужно.
11.08.2014 21:09:16
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #6
RE: Кнопки вниз с точным позиционированием
Действительно, с кодом перемудрили.

Код можно сократить до такого:
Код:
<script type="text/javascript">
jQuery(function(){
$(document).ready(function(){
$("#video").hide().removeAttr("href");
if ($(window).scrollTop()<=$(document).height()-"999") $("#video").fadeIn("slow")
$(window).scroll(function(){
if ($(window).scrollTop()>=$(document).height()-"999") $("#video").fadeOut("slow")
else $("#video").fadeIn("slow")
});
$("#video").click(function(){$("html,body").animate({scrollTop:$(".fullplayer").offset().top-200},"slow")});
});
});
</script>
11.08.2014 21:17:34
Найти все сообщения Цитировать это сообщение
Татьяна Не на форуме
Ефрейтор
*

Сообщений: 11
У нас с: Aug 2014
Сообщение: #7
RE: Кнопки вниз с точным позиционированием
Admin, спасибо огромное!Rose Замечательно работаетHappy, проверила в четырех браузерах.
11.08.2014 22:33:47
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru