3

URLからハッシュタグを取得し、それを使用していくつかの機能を実行するようにjQueryを取得しようとしています:

ハッシュタグの例:

http://www.example.com/Help.asp#contact

ヘルプセンターを作りました。このヘルプ センターでは、ページの読み込み時にすべての回答が非表示になり、質問をクリックすると回答が下にスライドします。各質問はanchor、名前識別子を持つ独自のものです。したがって、http://www.example.com/Help.asp#contactに移動すると、ドキュメントは自動的に下にスクロールし<a name="contact">ます。ヘルプセンターでユーザーが尋ねている質問に直接ユーザーを誘導したい場合に、メールなどでこれらをよく使用します。anchorただし、ページが読み込まれてから 1 秒後にトリガーされると、さらに使いやすくなります。私が推測しているのは、ハッシュタグを取得し、次のような jQuery スクリプトを用意する必要があるということです。

$(document).ready(function(){
$('a[name="~~HASHTAG~~"]').trigger('click').delay(1000);
});

URLからハッシュタグを取得するにはどうすればよいですか? ご協力いただきありがとうございます。

ここに私のHTMLがありますhttp://jsfiddle.net/tBLuL/

4

4 に答える 4

3

あなたはJavaScriptの値を探しています

location.hash

あなたの場合、URLの#Hash部分が含まれます

#contact
于 2012-02-05T02:42:26.800 に答える
1

hashオブジェクトのプロパティを使用window...

$(document).ready(function(){
    var thehash = window.location.hash; // #contact

    $('a[name="' + thehash.replace('#','') + '"]')
                         .trigger('click')
                         .delay(1000);
});
于 2012-02-05T02:42:48.377 に答える
0

window.locationオブジェクトをチェックしてください。location.hashまさにあなたが探しているものを持っています、jQueryは必要ありません。

于 2012-02-05T03:04:34.903 に答える
0

これを試して。

$('a[name="' + location.hash.replace('#', '') + '"]').click().delay(1000);

クリック後の 1 秒の遅延は役に立ちません。遅れて何を達成しようとしていますか?

アップデート:

遅らせたい場合は、clickこれを試してください。

$('a[name="' + location.hash.replace('#', '') + '"]').delay(1000).click();
于 2012-02-05T02:53:05.047 に答える