Возможно, вы захотите взглянуть на плагин jquery, scrollTo.
http://jquery.com
И пару ссылок для scrollTo
http://demos.flesler.com/jquery/scrollTo/
http://flesler.blogspot.com/2007/10/jqueryscrollto.html
Вы можете сделать что-то вроде этого:
HTML
<a href="#scrollToMe" class="scrollLink">click me to scroll</a>
<div class="gap">a big gap</div>
<h1 id="scrollToMe">I should scroll to here without a # in the URL</h1>
Javascript (JQuery иплагин scrollto)
$(document).ready(function() {
$(".scrollLink").click(function(e) {
$.scrollTo($(this).attr("href"));
e.preventDefault();
});
});
Что делает javascript, это когда при нажатии на ссылку, имеющую класс ".scrollLink", прокрутите страницу вниз до элемента с таким же идентификатором, какссылка на конкретную ссылку нажата.Затем e.preventDefault () перестает работать как обычная хеш-ссылка и перестает отображаться в строке URL.
Вот рабочий пример для вас: http://jsfiddle.net/alexkey/c3jsY/7/
И версияне в наборе фреймов, поэтому вы можете видеть, что URL не меняется:
http://fiddle.jshell.net/alexkey/c3jsY/7/show/light/
Этот подход имеет несколько хороших моментов
- Простоприменить класс scrollLink к ссылкам, которые вы хотите, чтобы хеш не появлялся (красиво и просто)
- Он использует обычный href, что также означает, что ссылки будут работать, даже если javascript отключен - хорошо для доступности и, вероятно, поискаоптимизация двигателя до.