2011-12-29 17 views
9

Fantazi kutusunda çağrılacak bir sınıfla bir bağlantı bağım var. örnek:Bir seçiciden fantezi kutusunu temizleme

<a class="group">some code here</a> 

Fancybox bağlayıcı:

$('.group').fancybox(); 

Ben $ tarafından seçilen öğelerle Fancybox kesme istediğiniz takdirde ('grubunu'), bunu nasıl yapmalıyım? removeClass('group')'u denedim ancak çalışmıyor.

+0

üzgün mesela Ranoy

+0

çapa gelen FancyBox bağlı herhangi bir sınıf kaldırmak mümkün olacak gibi yani Bu bağlantıda fantezi kutusu etkin olmayacak. Hile, uygun yöntemi kullanmak için çapayı nasıl tanımlayacağımızdır. Sınıfı nasıl kaldırmak istediğinizi açıklığa kavuşturabilir misiniz? Belirli bir etkinlikten sonra mı yoksa sadece sayfa yüklenirken mi? – JFK

+1

Bu soruya cevap veriyor mu? http://stackoverflow.com/questions/3654085/unbinding-fancybox-on-thumbnail-fade – CantGetANick

cevap

0

Javascript kodunda yapmak isterseniz, bağlantı etiketi nesnesini seçebilir ve sınıfı kaldırabilirsiniz.

<a id="noFancy" class="group">some code here</a> 

Java Script

$(function(){ 
    $("#noFancy").removeClass("group"); 

}); 

HTML işaretlemesi erişiminiz varsa, neden sadece başka bir şeye sınıfa değişmez removeClass yöntemini öğeye bir kimlik verin ve diyoruz ama aynı CSS değerleri ile. o zaman documentready

HTML sınıfını kaldırmak için kod çalıştırmak gerek yok bu

<a class="groupNormal">I dont want fancybox</a> 

CSS

İşte
.groupNormal 
{ 
    // Put the CSS for group class 
} 
+0

Çalışmıyorken anchor etiketinden dersi kaldırmak becoz dom, yükleme yapmadan önce tüm elemanları toplar, ancak yine de lutfen çıkardığım sınıfın çıkarılmasından sonra fancybox – Ranoy

+0

fantazi kutusunu bağlamadan önce sınıfı kaldırır mısın? – Shyju

+0

Sınıfa ilk sayfayı sayfa yükünden kaldırdım, sayfa kaynağında bile sınıfın kaldırılabildiğini görebiliyorum ama yine de fancybox'ı yüklüyor – Ranoy

5
$('.group').unbind('click.fb') 
+1

Bu benim için çalıştı. Teşekkürler! –

+4

Bu benim için çalışmadı – Martin

0

ancak öyle değil, benim için çalıştı çözüm fantezi kutusunun, soru soranın nasıl olmasını istediği anlamında yoksundur. Eğer Fancybox görüntülemek gerekip gerekmediğini size koşullarını kontrol etmek için kodu kullanabilirsiniz, işleyici olarak

$(".classOfMiniImage").on("click", window.onImageMiniClicked); 

:

Birincisi, düğüm üzerinde Fancybox beyan, ancak bunun yerine click olaya düğümü bağlamak yok ya da değil, ve sonra açık href referansla görüntülemek: Ayrıca

window.onImageMiniClicked = function() { 
    if (<your_condition>) { 
     $.fancybox({ 
      'href': <link_to_full_size_image>, 
      /* other options below */ 
      'transitionIn': 'elastic', 
      'transitionOut': 'elastic', 
      'speedIn': 600, 
      'speedOut': 600, 
      'overlayShow': true 
     }); 
    } 
} 

, artık bu öğeler üzerinde Fancybox gerekmiyorsa bir Biti başka bir yaklaşım kullanabilir ve elle işleyicisi unbind için:

$(".classOfMiniImage").off("click", window.onImageMiniClicked); 

Birilerine yardım edeceğini umarız.

1

Sen bağlamak için sınıf "nofancybox" ekleyebilir ve bu bağlantı yok sayılacak