2012-01-19 33 views
6

से बड़े तत्व के भीतर प्राप्त करें, इसलिए मेरे पास एक छवि प्लेसहोल्डर है और मैं HTML से पहली छवि को DIV तत्व के भीतर लोड करना चाहता हूं जो 70px चौड़ाई या ऊंचाई से बड़ा है। फिर 70px से बड़ी अगली छवि लोड करने के लिए अगला और पिछला लिंक प्रदान करें।jQuery सभी छवियों को एक विशिष्ट आकार

मुझे पता है कि jQuery का अगला & पिछला चयनकर्ता है, लेकिन मुझे यकीन नहीं है कि मैं इसे अगले और पिछले लिंक के साथ कैसे जोड़ूंगा या छवि आकार निर्दिष्ट करूं।

+0

"डीआईवी तत्व के भीतर डेटा से" का क्या अर्थ है? क्या आप अपना वास्तविक HTML शामिल कर सकते हैं? छवियों की सूची कहां से आती है? – jfriend00

+0

पोस्ट कोड कृपया –

+0

कृपया कोड उदाहरण/संदर्भ प्रदान करें और मैं खुशी से मदद करूंगा। वर्तमान में मुझे समझ में आता है कि आप क्या करना चाहते हैं। अगर यह बहुत सारे कोड है तो jsfiddle.net का उपयोग करने के लिए स्वतंत्र महसूस करें। –

उत्तर

10

प्राप्त करने के लिए सभी छवियों को बड़ा है कि कुछ आकार आप कुछ इस तरह का उपयोग कर सकते हैं:

var allImages = $('img', yourDivElement) 

var largeImages = allImages.filter(function(){ 
    return ($(this).width() > 70) || ($(this).height() > 70) 
}) 

next/prev प्राप्त करने के लिए कठिन नहीं है:

var nextElement = $(imgElement).nextAll().filter(function(){ 
    return ($(this).width() > 70) || ($(this).height() > 70) 
}).eq(0); 

पिछला नमूना overkill यदि आप हो सकता है बहुत सारी छवियां हैं, इसलिए आप इस तरह से लूप करना चाहते हैं:

var nextElement, nextSilblings = $(imgElement).nextAll(); 

for (var i=0;i<nextSilblings.length;i++){ 
    if (($(nextSilblings[i]).width() > 70) || ($(nextSilblings[i]).height() > 70)){ 
    nextElement = nextSilblings[i]; 
    break; 
    } 
} 
+0

उसने चौड़ाई या ऊंचाई के लिए कहा था। ;) लेकिन लिखने के लिए +1 जो मैं सोच रहा था वह शायद चाहेंगे। –

+0

@ एंडर्स होल्मस्ट्रॉम, सुधार के लिए धन्यवाद;) –

+0

अरे, कोई jquery चयनकर्ता नहीं? मुझे लगता है कि यह करेगा :) –

4

दो चरणों में यह करें:

1) छवियों कि मापदंड फिट को टैग

$('#targetDiv img').each(function() { 
     if($(this).height()>70) { 
     $(this).addClass('biggie') 
     } 
}) 

2) नेविगेशन

var myPos = 0; 

    $('#btnNext').click(function() { 
     //copy this image to the placeholder 
     $('#placeholder').attr('src', $('#targetDiv .biggie').eq(myPos).attr('src')); 
     myPos++; 
     if(myPos>$('#targetDiv .biggie').length) { 
      myPos = 0; 
     } 
    }) 

ऊपर हुक ... ऐसा पिछले बटन को बचाने के लिए , कमी को छोड़कर और शून्य तर्क बदलना।

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