2011-12-29 10 views
9

मेरे पास एक कक्षा के साथ एक एंकर लिंक है जो इसे फैंक्सबॉक्स पर कॉल करने के लिए पहचानता है। उदाहरण:किसी चयनकर्ता से fancybox को अनबिंड कैसे करें

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

Fancybox बाध्यकारी:

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

मैं $ द्वारा चयनित तत्वों के साथ fancybox निकल चाहते हैं ('। समूह'), मैं यह कैसे करना चाहिए? मैंने removeClass('group') को आजमाया है लेकिन यह काम नहीं कर रहा है।

+0

खेद जैसे <एक वर्ग = "समूह"> – Ranoy

+0

यह लंगर से किसी भी वर्ग fancybox करने के लिए बाध्य दूर करने के लिए संभव हो जाएगा की तरह है तो इस एंकर पर fancybox सक्षम नहीं किया जाएगा। चाल उचित विधि का उपयोग करने के लिए एंकर की पहचान कैसे करें। क्या आप स्पष्टीकरण दे सकते हैं कि आप कक्षा को कैसे हटाना चाहते हैं: विशिष्ट घटना के बाद या केवल पृष्ठ लोड पर? – JFK

+1

क्या यह इस प्रश्न का उत्तर देता है? http://stackoverflow.com/questions/3654085/unbinding-fancybox-on-thumbnail-fade – CantGetANick

उत्तर

0

यदि आप इसे जावास्क्रिप्ट कोड में करना चाहते हैं, तो आप एंकर टैग ऑब्जेक्ट का चयन कर सकते हैं और कक्षा को हटा सकते हैं।

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

जावा स्क्रिप्ट

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

}); 

आप HTML मार्कअप के लिए उपयोग किया है, तो क्यों न सिर्फ वर्ग के लिए कुछ और करने के लिए बदल तत्व को एक आईडी दें और removeClass विधि कॉल लेकिन एक ही सीएसएस मूल्यों के साथ। तो आप documentready

एचटीएमएल पर वर्ग को दूर करने के कोड पर अमल करने की जरूरत है न

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

सीएसएस

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

काम नहीं कर रहे एंकर टैग से कक्षा को हटाने से पहले बीकोज़ डोम लोड करने से पहले सभी तत्व एकत्र करता है, भले ही मैंने कक्षा को हटा दिया हो कि एंकर अभी भी फैंक्सबॉक्स – Ranoy

+0

में कहा जा रहा है आप fancybox बाध्य करने से पहले कक्षा को हटा दें? – Shyju

+0

मैंने पृष्ठ लोड पर कक्षा को पहली चीज़ हटा दी, यहां तक ​​कि पृष्ठ स्रोत में भी मुझे कक्षा को हटाया जा सकता है, लेकिन यह अभी भी फैंक्सबॉक्स – Ranoy

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

यह मेरे लिए काम किया। धन्यवाद! –

+4

यह मेरे लिए काम नहीं किया – Martin

0

यहाँ समाधान है कि मेरे लिए काम किया है, लेकिन यह नहीं है इस सवाल के बारे में फैंसीबॉक्स को अनइंड करें कि प्रश्नकर्ता इसे कैसे करना चाहेगा।

पहले, नोड पर fancybox घोषित नहीं है, लेकिन बजाय click घटना के लिए नोड बाँध:

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

हैंडलर में, आप चाहे आप fancybox प्रदर्शित करने के लिए की जरूरत की स्थिति जांचने के लिए अपने कोड का उपयोग कर सकते या नहीं, और फिर स्पष्ट href संदर्भ में इसे प्रदर्शित:

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 
     }); 
    } 
} 

इसके अलावा, आप एक बिट एक और दृष्टिकोण और मैन्युअल रूप से इस हैंडलर निकल करने के लिए उपयोग कर सकते हैं यदि आप अब और इन वस्तुओं पर fancybox की जरूरत नहीं है:

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

आशा है कि इससे किसी की मदद मिलेगी।

1

आप वर्ग "nofancybox" लिंक करने के लिए जोड़ सकते हैं और इस लिंक नजरअंदाज कर दिया जाएगा

संबंधित मुद्दे