0

続行する前に、URLのハッシュに特定の値が含まれているかどうかを確認しようとしています。次のように機能する関数があります。

$(window).load(function () {
    var hash = window.location.hash,
        number = $(hash).index(),
        width = 403,
        final = width * number;
        setTimeout(function () {
        $('.news-inner-wrap').animate({
            'marginLeft': "-=" + final + "px"
        });
        }, 1000);
});

したがって、ハッシュがwww.website.com/#news-item-033 番目のニュース ストーリーに沿ってユーザーを水平方向にスライドさせる場合、これはうまく機能します! 私はこの関数を起動したいだけですが、ハッシュにnews-item明らかに数値が含まれている場合はそれぞれ変更されますが、ハッシュがで始まる場合はnews-item上記の関数を起動したいのですが、これがまったく可能かどうかさえわかりません。提案をいただければ幸いです。

4

2 に答える 2

8

jQueryは必要ありません。これでうまくいくはずです

 if (window.location.hash) {
     if (window.location.hash.indexOf('news-item') == 1) { // not 0 because # is first character of window.location.hash
         // it's at the start
     }
     else if (window.location.hash.indexOf('news-item') != -1) {
         // it's there, but not at the start
     }
     else {
         // not there
     }
 }
于 2013-11-10T11:14:37.410 に答える
3

正規表現を使用します。

var matches = hash.match(/^#news-item-([0-9]+)$/);
if (matches) {
    var number = matches[1];
    // Rest of your code
}
于 2013-11-10T11:16:24.603 に答える