2012-06-03 2 views
0

Я использую следующий код для прокрутки вверх с гладкой анимацией. Это отлично работает в браузерах Mozilla и IE, но в Chrome он не работает. Может ли кто-нибудь помочь.

$("#animate_top a").click(function(){ 
    $("html").animate({scrollTop : 0},'slow'); 
}); 

Я добавил образец URL, нажмите «кнопку, чтобы добраться до дна» и нажмите кнопку «сверху» ссылку в нижней части в Chrome, Mozilla и IE.

http://www.sanatanapublications.org/demo/sample.html

+1

В общем, попытка оживить такие элементы может привести к проблемам, особенно в браузерах WebKit. – Pointy

ответ

4

Попробуйте с $('body') вместо этого. Если он все еще не дает ожидаемого результата, можете ли вы опубликовать общедоступный образец?

+0

Да, я добавил его публично, пожалуйста, проверьте, что я добавил образец URL, нажмите «Нажмите, чтобы достигнуть дна», и нажмите «верхнюю» ссылку внизу в chrome, mozilla и т. Д. http://www.sanatanapublications.org/demo/sample.html – PCA

+0

здесь, на моем osx 10.6 с хромом 19.0.1084.52 он дает точно такой же результат в firefox и chrome. –

+0

У меня также есть версия хром, но она не анимируется в хроме. Я использую ОС Windows 7. – PCA

5

Для кросс-браузерной прокруткой, используйте:

$('html,body')

Если вы установили функцию обратного вызова на анимации, он будет срабатывать дважды в IE, так что вы должны использовать условный оператор для IE в вашем HTML :

Затем загрузите файл сценария, который устанавливает его использовать только элемент «тело».

+0

Спасибо jackson, браузер IE он работает, но хром он не работает – PCA

+0

Попробуйте добавить такие кавычки ... {'scrollTop': '0'} – alt

+0

да это код, который я использую $ ("# animate_top a ") .click (function() { $ (" html "). animate ({scrollTop: 0}, 'slow'); }); – PCA

Смежные вопросы