2012-01-18 2 views
0

яПочему не scrollTo прокрутка к моему якорю?

<!DOCTYPE html> 
<html> 
<head> 

[...] 

<script type="text/javascript" src="jquery-1.7.js"></script> 

<script type="text/javascript" src="prototype.js"></script> 

<script type="text/javascript"> 
function getusto(anchorid) { 
$(anchorid).scrollTo(); 
} 

</script> 

[...] 

</head> 
<body> 

[...] 

<a class="menu_links" href="#" onclick="getusto('welcome');">Welcome</a><br> 
<a class="menu_links" href="#" onclick="getusto('guidelines');">Guidelines</a> 

[...] 

<a name="welcome" id="welcome"></a> blah balhb albha 

[...] 

<a name="guidelines" id="guidelines"></a> blah blahb alhb 

[...] 

</body> 
</html> 

почему щелкая приветственное/Guidelines ссылки не выделите якоря?

Я пытаюсь связать с идентификаторами специально, из-за использования jquery-bbq, который делает это (насколько я могу судить), поэтому я НЕ МОЖЕТ использовать хеши/якоря нормально.

они заставляют меня использовать больше символов, чтобы объяснить код. как насчет мы играем один кадр Pac-Man:

("< . . . . o . . . . 
        . 
        . 
        . 
        . 
      [Post Your Answer] 
+0

Почему не просто 'Welcom'? – RobG

+0

эй Роб - см. Последнее дополнение. это причуда/компромисс jquery-bbq, судя по всему, хэши используются для одной вещи, поэтому не этот другой - то есть я не могу использовать привязки, потому что jquery-bbq использует их для чего-то другого. поэтому, я должен найти обходной путь - сначала пытаюсь 'scrollTo()'. – lakitu

ответ

1

Вполне возможно, что браузер выполняет функцию Element.scrollTo и затем следуя по ссылке ..., которая приведет вас к верхней части страницы (так как href является #).

Почему бы не попробовать один из этих двух вещей, и посмотреть, что происходит:

Попробуйте return false; из onclick: (see fiddle here)

<a class="menu_links" href="#" onclick="getusto('welcome'); return false;">Welcome</a> 
<a class="menu_links" href="#" onclick="getusto('guidelines'); return false;">Guidelines</a> 

Или сделайте getusto возвращение false: (see fiddle here)

function getusto(anchorid) { 
    $(anchorid).scrollTo(); 
    return false; 
} 

... и вернуть его значение из onclick:

<a class="menu_links" href="#" onclick="return getusto('welcome');">Welcome</a> 
<a class="menu_links" href="#" onclick="return getusto('guidelines');">Guidelines</a> 

Выполнение любой из этих двух предложений, должны позволить Element.scrollTo вступили в силу, не следуя первоначальный пункт назначения ссылки.

+0

'Welcome
Guidelines' не работал. я попробую другой метод. – lakitu

+0

не работает. если это помогает, я использовал Egg Thrower, чтобы бросить некоторые яйца на странице = P – lakitu

+0

Я создал скрипку, чтобы продемонстрировать, о чем я говорю. Взгляните сюда: http://jsfiddle.net/GWLmy/1/. Если у вас все еще есть проблемы, я боюсь, вам придется предоставить дополнительную информацию. –

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