Вход

Просмотр полной версии : JS и getURL плавный переход к anchor


Blizzart
16.01.2011, 15:57
Объясните, пожалуйста, в чем тут ошибка:
Во флеше я пишу:
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)


разницы я не вижу, только во втором варианте в виде отдельной функции, а в первом просто вложено в функцию.

Amphiluke
16.01.2011, 16:17
Резкий переход на якорь делает эта строчка:
newWindow=window.open(URLtoOpen, windowName, windowFeatures);
зачем она?

Blizzart
16.01.2011, 16:45
Это потому что локально у меня не работало: 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");
Не работает :(

Amphiluke
16.01.2011, 17:05
Не понятно. У вас этот код вызывается из фрейма? А прокрутить вы ходите родительское окно?
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')");

Blizzart
16.01.2011, 17:48
Огромное спасибо! Так работает. Сам бы я не догадался. в первый раз вижу: self.top.document :)