2011-01-25 8 views
2

EDIT:この時点で、この問題は、scrollToプラグインを使用して正しいパスに入れてくれたNeilのおかげで部分的に回答されました。ただし、以下で詳しく説明するように、スクロールするサムネイルリストを必要に応じて正しく調整するために、「次の」リンクと「前の」リンクを取得することに問題があります。したがって、そこにいる他の熟練jQueryプログラマがこれを突き刺してこの障害を克服するのを助けようとしているのかどうか、私は疑問に思っています。jQueryイメージギャラリーのカスタマイズ

/////////////////////////

そこに任意の熟達jQueryのプログラマは画像ギャラリーを修正するには、いくつかの支援を提供できるかどうか迷っスクリプト:Gallerifficを今後のプロジェクトで使用したいと思います。使い慣れていない場合は素晴らしいプラグインですが、サムネイルをページに分割する代わりに、すべての親指を一度に表示するスクロールdivを使用したいと思います。示されるようにhere

私の質問は、大きな画像の状態に「ついて行く」ことができるかどうかです。つまり、「次の写真」をクリックしてフルサイズの画像を表示すると、対応するサムネイル表示されていない場合は、リストが自動的にスクロールして現在のサムネイルを表示します(該当する場合)。このようなスクリプトでは、フルサイズの画像にサムネイルの表示可能な状態をフォローまたは「検知」し、必要に応じて視認性を調整する必要があると思います。私がより具体的であるべきかどうか私に教えてください。

私はこのタスク(?)を達成するためのおそらくいくつかの既存のjQuery関数が存在することを願っています。

+0

.scrolltop(値)(http://api.jquery.com/scrollTop/を取得する必要があります)と.position()は、すべての回答者のために多くのお礼を – generalhenry

答えて

2

あなたのためにこれを行いますa plug-inがあります。

要素を指定することができます。スクロールしたいサムネイル「IMG」。また、スクロール方法の効果を指定することもできます。

使用方法の例を確認してください。下記のおフォローアップのコメントについて

ボタンの横に移動し、以前は「次」クラスまたは「PREV」を持っていると大きな画像を含むアンカーがクラス「事前・リンク」を持つためには、彼らがすべて次の/前のスライドに行くための "href"属性を持っています。したがって、そのスライドのサムネイルにスクロールするには、jQueryコードの先頭またはその近くに以下のようなコードを記述する必要があります。私は唯一の目でそれを検査しましたので、それはそれでAAタイプミスがあるかもしれませんが、あなたはドリフト:

$('.next, .prev, .advance-link').live().click().function(){ 
    var href = $(this).attr('href'); 
    $('#thumbs').scrollTo($('.thumb[href=' + href + ']'), {axis: 'y'}); 
}); 
+0

返信ありがとうNeil - ちょっと混乱しているのは、右のフルサイズの画像コンテナがjQueryによって生成されているからです。サムネイルリストで位置を指定してscrollToスクリプトを呼び出すアンカー値...下のコメントで言及しているように、ユーザーがフルサイズの画像または次/前のボタンをクリックすると、次の/前のフルサイズの画像を表示するだけでなく、対応するサムネイルのスクロール位置を反映させることを望んでいます左... – nickpish

+0

ありがとうNeil!あなたがこのリンクから見ることができるように、私は正しい道にいるようです:http://tinyurl.com/4k374zo。進行中の大きな画像をクリックすると完全に動作しますが、「次の写真」をクリックすると、スクロールしているサムリストの前に表示されているようです...(a)コードを適切に修正し、(b)私が正しい場所に置いたら、GallerifficプラグインのjQuery doc ready ready初期化の直後に... IE7以外のすべてのブラウザで動作するようです。それ以上のガイダンスは高く評価されるだろう。 – nickpish

+1

Nick、NEXTとPREV buttomsに2つのクリックイベントハンドラがあるため、表示した新しいイメージの「rel」値を(実際にはほとんどの場合)拾うことがありますあなたが交換していた古いもの。 Galleria javascriptを変更できる場合は、クリックハンドラがどこにあるかを確認し、コードをそれらにマージします。私はIE7(私は最新のIE8、Firefox 3.6.13などのブラウザを使用しています)にアクセスできないので、問題が何であるか分かりません。多分、マージされたコードが動作します。 – Neil

0

は、ここでは大まかな例

$('.current img').live('mouseenter',function(){ 

    var alt = $(this).attr('alt'); 
    var thumb = $('.thumbs [alt='+alt+']'); 
    var position = thumb.position(); 
    var thumbs = $('.thumbs'); 
    thumbs.scrollTop(position.top); 
}); 
+0

トリックする必要があります。私が不十分なプログラミング知識を許し、これがどのように適用されるかについてもう少し詳しく説明すれば、私は最も感謝しています。ユーザーが大きな画像または次の/前のボタンをクリックすると、次の/前のフルサイズの画像に変更され、(2)その位置にその選択が反映されたときに、サムネイルスクロールリスト – nickpish

関連する問題