2011-07-10 10 views
1

"フィルタリング可能な写真のグリッドでサイトを作っています。私はファンシーボックスに電話しています:無効な画像でFancyboxが実行されないようにします。

$(".popbox").fancybox(); 

画像がフィルタリングされると、クラスは「無効」になります。ページがリロードされないことに注意してください。

誰かが無効な画像をクリックしたときに、ファンシーボックスが有効にならないようにするにはどうすればよいですか?また、フィルタが変更され、画像が再度有効になったときに再び動作する必要があります。

+0

'fancybox('クリック(中) 'コール)'入れているかどうかをチェッククラスに「無効」がありますか? –

答えて

2

はそれを行うための一つの方法(demo)です:

$(function() { 
    $('.popbox').click(function() { 
     if (!$(this).is('.disabled')){ 
      $.fancybox('<img src="' + $(this).attr('href') + '" height="333" width="500">'); 
     } 
     return false; 
    }); 
}); 

アップデート:ここには、おそらくそれを行うには良い方法で、使用してonStartコールバック(demo):

$(function() { 
    $('.popbox').fancybox({ 
     onStart: function(link) { 
      if ($(link).is('.disabled')) { 
       return false; 
      } 
     } 
    }); 
}); 
+0

OnStartを使用して更新されたメソッドが機能しました。ありがとうございました! – Steve

0

うーん、これをやってみる:ここ

$('.popbox:not(.disabled)').fancybox(); 
関連する問題