2010-11-26 5 views
-1

ヘイ、基本的なページ設定の影響を作りたいと思っています。 私は最初の9を表示したいので、10 - 100から隠す どのようにそれらの子供をつかまえますか?jQueryを使ったページングの錯覚

私の次の要求を隠すことは明らかです。1-9 show 10-18 hide 19-100 あなたはアイデアを得ます。ありがとうございました。 線に沿って

マークアップは:あなたが:gt:ltの組み合わせを使用することができます

$(".grid .widget:gt(8)").hide(); 

<div class="grid"> 
    <div class="widget">some content...</div> 
    <div class="widget">some content...</div> 
    <div class="widget">some content...</div> 
    <div class="widget">some content...</div> 
    <div class="widget">some content...</div> 
    <div class="widget">some content...</div> 
etc... 
</div> 
+0

これは疑問ではありません – cambraca

+0

あなたの投稿に基づいて、このサイトを他の人にあなたのコーディングをさせるための場所として使用しています。あなたがそれを必要とするときには助けと知識を求め、他の人にはあなたの汚い仕事をさせるのではなく、そうするために怠けているからです。 –

+1

@カンブラカ:技術的にはそうです。彼は私たちに彼のためにそれをするように求めています。 –

答えて

1

slice関数を使用して、選択範囲を範囲に制限することができます。ゼロベースであることに注意してください。

$('.widget').hide().slice(9,17).show(); 
+0

ok、thats cool !.私はすきです!。ありがとう – mdskinner

2

は、最初の9が、すべてを非表示にするには、:gtセレクタを使用することができますあなたの目標を達成するセレクター。

私が示唆している他の方法は、@ tvanfossonの答えに従ってsliceを使用することです。 (+1)

+0

ありがとうございます!これは私が欲しかったものです!! ..私は他の人々の問題が何を想定しているのか分かりません。 – mdskinner

+0

私はtvanfossonの 'slice()'アプローチは、セレクタ文字列を手作業で構築することができないので、より良いと思います(私は誰でも最小/最大値をltと:gtにハードコードすることはできません)。 – ThiefMaster

+0

@ThiefMaster - 完全な実装を提供するのではなく、例でセレクタを指摘しました。 – karim79

0

ここにいくつかのコードがあります。明らかに、pageを設定し、ユーザーがページを変更するたびにeach()コードを実行することが望ましいでしょう。

var ITEMS_PER_PAGE = 2; 
var page = 1; 

// Option 1 
$('.grid > .widget').each(function(i, item) { 
    var visible = i >= (ITEMS_PER_PAGE * (page - 1)) && i < (ITEMS_PER_PAGE * page); 
    $(item).toggle(visible); 
}); 

// Option 2 (based on other answers) 
$('.grid > .widget').hide().slice((ITEMS_PER_PAGE * (page - 1)), (ITEMS_PER_PAGE * page)).show(); 
+0

ありがとうございました。より古いものよりも小さい記号を使用して、古いバージョンの問題が発生しましたか?私のクライアントはie6互換性が必要です。 – mdskinner

+0

それはほとんどありません。しかし、あなたのジャバスクリプトをCDATAまたはHTMLコメントセクションに入れてみることもできますし、単に外部ファイルからロードすることもできます。 – ThiefMaster

関連する問題