0

さて、ここで私が現在直面している問題は、アンカーリンクに名前またはIDがある場合にjqueryをアンカーリンクにスムーズにスクロールさせる方法です。

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

そのため、アンカー リンクの内容に関係なく、ページが読み込まれるとスムーズにスクロールする必要があります。これは、男が私にくれたコードです。しかし、唯一の問題は、これがシナリオである場合にのみこのコードが機能することです

<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);  
});

このコードを変更して、やりたいことを実行する方法を教えてください

4

2 に答える 2

1

次のように、一致させたい各領域を検索して、最初の一致を返すことができます。

$(window).bind("load", function() {
   var urlHash = window.location.href.split("#")[1];
   $('html,body').animate({scrollTop:$('.'+urlHash+', #'+urlHash+', [name='+urlHash+']').first().offset().top}, 4000);
});
于 2012-05-25T22:45:41.733 に答える
0

を探すにはid

scrollTop:$('#'+urlHash);

名前を探すには:

scrollTop:$('[name='+urlHash+']');
于 2012-05-25T22:32:55.827 に答える