2012-05-25 4 views
0

Хорошо, вот проблема, с которой я сейчас сталкиваюсь, как я могу получить jquery, чтобы сгладить прокрутку к привязке, когда ссылка привязки имеет имя или идентификатор.JQuery Внешняя страница Smooth Scroll

<a name="scrollhere"> Smooth Scroll here on page load </a> 
<a id="scrollhere"> Smooth Scroll here on page load </a> 

поэтому независимо от того, что якорная ссылка говорит, что она должна гладить прокрутку после загрузки страницы. Вот код, который дал мне парень. Но единственная проблема, этот код работает только, если это secnario

<a class="scrollhere"> Smooth Scroll here on page load </a> 

код работает только, если ссылка Якорь имеет класс, где я хочу гладкой прокрутки идти. Но я хочу, чтобы это было имя и/или id.

$(window).bind("load", function() { 
     var urlHash = window.location.href.split("#")[1]; 
     $('html,body').animate({scrollTop:$('.'+urlHash).offset().top}, 4000); 
}); 

скажите мне, как я могу изменить этот код, чтобы сделать то, что я хочу, чтобы это сделать

ответ

0

Чтобы искать id:

scrollTop:$('#'+urlHash); 

Чтобы найти имя:

scrollTop:$('[name='+urlHash+']'); 
1

Вы можете выполнить поиск по каждой из областей, которые хотите совместить, и вернуть первое совпадение, например:

$(window).bind("load", function() { 
    var urlHash = window.location.href.split("#")[1]; 
    $('html,body').animate({scrollTop:$('.'+urlHash+', #'+urlHash+', [name='+urlHash+']').first().offset().top}, 4000); 
});