jQuery scrollTop

S
На сайте с 11.03.2010
Offline
29
1058

Добрый день, появилась задача сделать плавный переход от одного элемента к другому, сильно усложнять не хотелось, поэтому использовал scrolltop, а именно

$.animate({scrollTop: $('#perehod').offset().top});

-

работает, но в опере 11-ой при активации с любого места на странице, скрол начинается с самого начала, не очень красиво получается.

Нашел выход из ситуации на хабре:

$("html:not(:animated)"+( ! $.browser.opera ? ",body:not(:animated)" : "")).animate({scrollTop: $('#perehod').offset().top});

Писали, что возможно :animated у body не наследуюется от html.

Но этот вариант по какойто причине не заработал, ничего не изменилось, заработал другой вариант:

$(( ! $.browser.opera ? "html:not(:animated)," : "")+"body:not(:animated)").animate({scrollTop: $('#perehod').offset().top});

- этот вариант у меня нормально работает во всех браузерах, последних покрайней мере. ну и 7-ой и 6-ой ie

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий