2011-05-27 3 views
5

काम नहीं कर रहा है मैं गैलरी में कुछ छवियों को दिखाने के लिए fancybox का उपयोग कर रहा हूं। मेरे पास एक मुख्य छवि है और इसके नीचे थंबनेल का एक गुच्छा है। यदि आप मुख्य छवि पर क्लिक करते हैं तो इसे फैंक्सबॉक्स दिखाना चाहिए, लेकिन यदि आप थंबनेल पर क्लिक करते हैं तो यह मुख्य छवि को बदल देता है। मैंने कहीं और मुख्य छवि स्विचिंग को झुका दिया है लेकिन मेरी समस्या यह है कि जब मैं थंबनेल क्लिक करता हूं तो मैं फैंसीबॉक्स को दिखने से रोकना चाहता हूं। मेरे पास यह कोड है:

$(this).fancybox({ 
    onStart: function(selectedArray, selectedIndex, selectedOpts) { 
      var element = selectedArray[selectedIndex]; 
      if ($(element).parent('li').length > 0) { 
       $.fancybox.cancel(); 
       $.fancybox.close(); 
       $(element).click(); 
      } 
     } 
    }); 
}); 

लेकिन रद्द और बंद काम नहीं कर रहे हैं। मैं आश्चर्य नहीं होगा अगर पास() को रद्द() काम करता है यह सोचते हैं ज़रूरत से ज़्यादा है ...

धन्यवाद

रॉब

संपादित करें:

<a href="/uploadedImages/About_Something/Carousel/Landing_mainImage.png" id="ctl00_ContentPlaceHolder1_aMainImage" class="fancyBox" rel="gallery"> 
    <img id="ctl00_ContentPlaceHolder1_imgMainImage" src="/uploadedImages/About_Something/Carousel/Landing_mainImage.png" alt="1" style="border-width:0px;" /> 
</a> 
: यहाँ मुख्य छवि के लिए कुछ html है

<a href="/uploadedImages/About_Something/Carousel/Landing_mainImage_2.png" class="fancyBox" rel="gallery"> 
    <img src="/uploadedImages/About_Something/Carousel/Landing_mainImage.png " alt="/uploadedImages/About_Something/Carousel/Landing_mainImage.png " /> 
</a> 

और फिर जावास्क्रिप्ट देखो के अधिक:

और यहाँ थंबनेल आइटम में से एक है इस तरह रों:

$('a.fancyBox').each(function(i) { 
    if ($(this).parent('li').length > 0) { 
     $(this).click(function(e) { 
      e.preventDefault(); 
     }); 
    } 

    $(this).fancybox({ 
     onStart: function(selectedArray, selectedIndex, selectedOpts) { 
      var element = selectedArray[selectedIndex]; 
      if ($(element).parent('li').length > 0) { 
       $.fancybox.cancel(); 
       $.fancybox.close(); 
       $('#fancy_close').trigger('click'); 
       $(element).click(); 
      } 
     } 
    }); 
}); 
+0

क्या आप मुख्य छवि और थंबनेल के लिए एचटीएमएल/जेएस पोस्ट कर सकते हैं? – mrk

उत्तर

8

मैं एक ही मुद्दा मिल गया।

बस ऑनस्टार्ट में झूठी वापसी करें और यह लोडिंग रद्द कर देगा।

0

इस प्रयास करें:

$.fn.fancybox.close(); 

या इस:

$('#fancy_close').trigger('click'); 
+0

दुर्भाग्य से कोई पासा .. अगर मैं $ .fancybox.close() करता हूं; कंसोल में यह काम करता है और विधि fn में मौजूद नहीं है ... $ ('# fancy_close') के रूप में। ट्रिगर ('क्लिक करें'), जो या तो काम नहीं करता है ... –

+0

ठीक है, क्या आप कुछ दिखा सकते हैं इस मुद्दे को सटीक रूप से पुन: उत्पन्न करने के लिए एचटीएमएल? – silex