Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как прикрутить скрипт прокрутки страницы к кнопке? (https://javascript.ru/forum/jquery/32440-kak-prikrutit-skript-prokrutki-stranicy-k-knopke.html)

postum44 16.10.2012 14:05

Как прикрутить скрипт прокрутки страницы к кнопке?
 
Здравствуйте! Я новичок в сайтостроении, поэтому прошу прощение за идиотизм.
У меня есть неплохой скрипт прокрутки страниц. Идея в следующем: прикрутить его к кнопке (именно к кнопке, а не к ссылке).
Я сделал форму, которая поднимает наверх, и пытаюсь прикрутить скрипт к кнопке, находящейся в форме. Короче, на данный момент всё это безобразие выглядит таким образом:

HTML
<form id="management" method="get" action="#wrapper" onsubmit="window.location=this.action; return false;">
<input class="top-button" title="" value="Подняться наверх" onmouseover="window.status='Подняться наверх'; return true;" onmouseout="window.status='';return true;" type="submit">
</form>

Вот сам скрипт:

$(document).ready(function(){
$(".top").click(function(event){
//Перехватываем обработку по умолчанию события нажатия мыши
event.preventDefault();

//Получаем полный url - например, mysitecom/index.htm#home
var full_url = this.href;

//Разделяем url по символу # и получаем имя целевой секции - home в адресе mysitecom/index.htm#home
var parts = full_url.split("#");
var trgt = parts[1];

//Получаем смещение сверху для целевой секции
var target_offset = $("#"+trgt).offset();
var target_top = target_offset.top;

//Переходим в целевую секцию установкой позиции прокрутки страницы в позицию целевой секции
$('html, body').animate({scrollTop:target_top}, 500);
});
});


Каким образом мне добиться прокрутки и поднятия вверх одновременно? Может, я вообще не так всё делаю?:help:

************************************************

Я нашёл вот здесь решение http://blog.freelancer-id.com/2009/0...hly-in-jquery/

Убрал тот скрипт и теперь форма с кнопкой выглядит так:

<form id="management" method="get" action="#wrapper" onsubmit="window.location=this.action; return false;">
<input class="top-button" title="" value="Подняться наверх" onmouseover="window.status='Подняться наверх'; return true;" onmouseout="window.status='';return true;" type="submit" onClick="$('html,body').animate({scrollTop: $('#wrapper').offset().top}, 1000);">
</form>

Всё хорошо, но, единственное, в IE, как всегда, косяк: какое-то мгновение он показывает верх страницы, потом возвращается и прокручивает по-нормальному, пробовал убрать action в форме, он мне вообще открывает папку сайта.
Может, у кого-то есть решение проблемы?


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