2011-01-15 3 views
0

注:jQueryを学習していますので、newbの質問をお許しください。.next_imageボタンをクリックすると、次の画像に移動する方法はありますが、他の場所をクリックすると閉じることができます。

私はライトボックスギャラリーを持っています。ギャラリーの「次へ」ボタンをクリックすると、次の画像が表示されますが、それ以外の場合はをクリックしてください。、itフェイスボックスウィンドウのポップアップを閉じます。

私は、コードの周りかなりを果たしたが、私はこの辺りにこだわっている:

私は(翻訳)、それにして起こっていた

$('#facebox :not(.image_next)').click($.facebox.close)

「でクリックがイメージの次のクラスにない限り、faceboxのIDを持つdivは、フェイスボックスウィンドウを閉じます。

残念ながら、これは、そのクラスのimgを含めて、クリックした場所に関係なくウィンドウを閉じます。

助けが必要です。

+0

もっとコードを投稿できますか?あなたの '次のコード例と多分マークアップ – ifaour

答えて

0

clickイベントが、「次へ」ボタンから親に吹き上げています(#facebox div)。

#faceboxのハンドラーによってイベントが「見られる」ことを停止する「次へ」ボタンのクリックハンドラーでevent.stopPropagation()を呼び出します。

+0

hmmm、これはここでは問題ではないと思います.. – ifaour

+0

私は十分な情報を載せていないようですので、2つのリンクがあります。レンダリングされたHTML、そしてfacebox jsのためのものです。答えてくれてありがとう、みんな。それは有り難いです。 https://github.com/defunkt/facebox/blob/master/src/facebox.jsおよびhttp://pastebin.com/CYUPNyyw – KalElVZ

0
$('#facebox :not(.image_next)').click($.facebox.close) 

これは、あなたが望んだことを正確に示しています。ちょっと注意してください。

代わりに、何が起こった

$('#facebox :not(.image_next), <other objects in windows>').click($.facebox.close); 
を試してみてください、あなたは単にあなたのfaceboxの内の画像が含まれるであろう すべてが、「.image_next」を言っていますさ。代わりに、Firebugを使用して、除外する必要のあるオブジェクトや、実際にイベントを取り消したいオブジェクトだけをバインドする必要があるオブジェクトを特定します。

関連する問題