JS и getURL плавный переход к anchor
Объясните, пожалуйста, в чем тут ошибка:
Во флеше я пишу: getURL("javascript:openNewWindow('#myAnchor','_parent'); "); Это дает переход на якорь. Все работает. Но в конце функции я добавляю jQuery, который делает этот переход плавным. Но именно он не обрабатываеться, то есть переход все равно резкий function openNewWindow(URLtoOpen, windowName, windowFeatures) {newWindow=window.open(URLtoOpen, windowName, windowFeatures); destination = $("#myAnchor").offset().top; $("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, 1700 ); } вот так, например, работает нормально: setTimeout(function() {destination = $("#myAnchor").offset().top; $("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, 1700 );}, 5000) разницы я не вижу, только во втором варианте в виде отдельной функции, а в первом просто вложено в функцию. |
Резкий переход на якорь делает эта строчка:
Цитата:
|
Это потому что локально у меня не работало:
getURL("#myAnchor","_parent"); На сервере проверил - работает. И еще потому что я не понимаю как прописать тип окна... Я исправил js на function openNewWindow(URLtoOpen) destination = $(URLtoOpen).offset().top; $("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, 1700 ); } В флеше пытался так: getURL("javascript:openNewWindow('#myAnchor');"); и так: getURL("javascript:openNewWindow('#myAnchor');","_parent"); Не работает :( |
Не понятно. У вас этот код вызывается из фрейма? А прокрутить вы ходите родительское окно?
function openNewWindow(URLtoOpen) { var doc = self.top.document; destination = $(URLtoOpen, doc).offset().top; $("html:not(:animated),body:not(:animated)", doc).animate({ scrollTop: destination}, 1700 ); } Ну и дальше Код:
getURL("javascript:openNewWindow('#myAnchor')"); |
Огромное спасибо! Так работает. Сам бы я не догадался. в первый раз вижу: self.top.document :)
|
Часовой пояс GMT +3, время: 00:03. |