2011-07-07 1 views
0

開発中のページ目次タブはhttp://www.vpgmarketresearch.com/tabs.htmlです。私は検索から見つかった最初の結果にウィンドウをスクロールする方法を探しています。たとえば、「スペイン」を検索すると109件の検索結果が表示されます。私は最初のものにユーザーを連れて行きたいと思います。contains()を使用してページ検索後に最初の結果にスクロールするには、JQueryまたはjavascriptコードが必要です

私はすべての同様の質問をすべて読んだことがあります。

ソースを表示すると、すべてのコードが表示されます。この非常に大きなページでは、醜いインラインCSSを無視してください。それは一時的です。ここで

は、「を含む」と私はこれを調整する必要があるものだと思うを含むコードです:私は、検索コードのこのビットを得たのはここ

$('div.TabbedPanelsContent :contains("'+term+'")').each(function(){ 
$(this).html($(this).html().replace(new RegExp(term,'g'), '<span class="highlight">'+term+'</span>')); 
$(this).find('span.highlight').fadeIn("slow"); 

は次のとおりです。http://www.ryancoughlin.com/2008/12/20/jquery-search-and-highlight/

すべてのヘルプありがとう!

答えて

2

私はハードので、独自の実装に置き換えるという用語をコード化されました:

var term = 'Encephalitis'; 

$('div.TabbedPanelsContent :contains("'+term+'")').each(function(){ 
    $(this).html($(this).html().replace(new RegExp(term,'g'), '<span class="highlight">'+term+'</span>')); 
    $(this).find('span.highlight').fadeIn("slow"); var offset = $(this).offset().top; 
    $('html,body').animate({ 
    scrollTop: offset 
    }, 100); 
    return false; 
}); 

あなたが100ミリ秒を長くしたり短く、遅延調整することができます。偽を返すことはイテレータを壊すので重要です。そうしないと、最初に見つかった語句の代わりに、その語句のそれぞれにページがスクロールします。

+0

おかげでジェイクは、素晴らしい作品!私は奇妙な異常が1つはありません。国名を検索するときに「スペイン」や「イタリア」のようにスクロールしません。それはなぜですか? [link](http://www.vpgmarketresearch.com/tabs.html) – cvonnieda

+0

Jake、訂正... IEではまったく動作しません。 :/(他のすべてのもののように!) – cvonnieda

0

次のようなクールなスムーズな移行でそれを行うこともできます。これは、移動するには(0はyであるトップの座標)、ページの最上部へ

をスクロールします

$("html, body").animate({ scrollTop: 0 }, "slow"); 

あなたがscrollTo pluginを使用することができ、

$("html, body").animate({ scrollTop: $("#first_result").offset().top }, "slow"); 

または:最初の結果に、あなたは0に置き換えることができます。

これが役に立ちます。乾杯、

+0

エドガーに感謝します! – cvonnieda

+0

Edgar:上記のJakeのバージョンはIEでは動作しません。助言がありますか?ありがとう! – cvonnieda

関連する問題