jquery

2013-03-29 6 views
6

के साथ स्वैप छवि स्रोत मेरे पास एक बड़ी छवि और छोटे अंगूठे हैं, मैं एक दूसरे के साथ अपने स्रोत को स्वैप करने की कोशिश कर रहा हूं। यहां मैं बोतल के आईएमजी में अंगूठे img बदल रहा हूँ, लेकिन मैं उनके स्रोत स्वैप करना चाहता हूँ। कृपया मदद करें!jquery

एचटीएमएल

<div class="bottlesWrapper"> 
    <img src="bottle1.png" /> 
</div> 

<div class="thumbs"> 
    <img src="bottle2.png" /> 
</div> 

स्क्रिप्ट

<script> 
$('.thumbs a').each(function() { 
    $(this).click(function() { 
     var aimg = $(this).find("img") 

     $('.bottlesWrapper img').fadeOut('fast',function(){ 
     $(this).attr('src', $(aimg).attr('src')).fadeIn('fast'); 
     }); 

    }); 
}); 
</script> 

संपादित

धन्यवाद सब :)

मैं वास्तव में एक जानकारी मैं विभिन्न अंगूठे है कि बाहर देने के लिए भूल गया, इस जवाब सूट सबसे अच्छा है! आपके बहुमूल्य इनपुट के लिए सभी को धन्यवाद!

$('.thumbs img').click(function() { 
    var thmb = this; 
    var src = this.src; 
    $('.bottlesWrapper img').fadeOut(400,function(){ 
     thmb.src = this.src; 
     $(this).fadeIn(400)[0].src = src; 
    }); 
}); 
+1

अंगूठे के अंदर कोई टैग नहीं है –

+0

डिज़ाइन केमिकल से यह 'स्वैप गैलरी' उदाहरण भी देखें: http://www.designchemical.com/blog/index.php/jquery/jquery-image-swap-gallery/ (मुझे लगता है कि फेडेन/फेडआउट जोड़ने में मुश्किल नहीं होगी) –

उत्तर

6

करने के लिए स्वैप छवियों पसंद है:

LIVE DEMO

$('.thumbs img').click(function() { 
    var thmb = this; 
    var src = this.src; 
    $('.bottlesWrapper img').fadeOut(400,function(){ 
     thmb.src = this.src; 
     $(this).fadeIn(400)[0].src = src; 
    }); 
}); 

आप एक से अधिक 'दीर्घाओं' है, तो कर की तरह: http://jsbin.com/asixuj/5/edit

+0

Nopes, यह फिर से बदल रहा है छोटे छवि स्रोत के लिए केवल बड़ी img ..मैं चाहता हूँ कि उदाहरण के लिए। आपके पास शीर्ष पर हरी छवि है और जब आप ब्लैक आईएमजी अंगूठे पर क्लिक करते हैं, तो मुझे काला अंगूठा गुलाबी बनना चाहिए और शीर्ष पर काले आईएमजी प्रदर्शित करना चाहिए। 'मूल रूप से दो छवियों को स्वैप करना चाहते हैं' मुझे आशा है कि मैं आपको – itsMe

+0

@itss को भ्रमित कर दूंगा मेरा संपादन देखा? यह वास्तव में –

+0

यह सही काम करता है! धन्यवाद :) – itsMe

0

प्रयास करें:

$('.thumbs img').click(function() { 
    var img_src = img.attr('src'); 

    $(this).fadeOut('fast',function(){ 
     $(this).attr('src', $('.bottlesWrapper img').attr('src')).fadeIn('fast'); 
    }); 

    $('.bottlesWrapper img').fadeOut('fast',function(){ 
     $(this).attr('src', img_src).fadeIn('fast'); 
    }); 
}); 

आप thumbs वर्ग के अंदर img टैग की घटनाओं क्लिक देते हैं और फिर छवि स्रोत बदल जाते हैं।

+0

नोप्स, यह काम करता है :(बोतलों का इसका एकमात्र बदलता स्रोत, आईपीजी – itsMe

+0

@itsMe, अद्यतन उत्तर का प्रयास करें ... – Anujith

2

वहाँ में कोई <a> टैग है आपके प्रश्न .. तो अपने img .. सीएल पर मानते हैं img .. bottlesWrapper swaped हो जाएगी अंगूठे की ick ..

कोशिश इस

अद्यतन

$('.thumbs img').click(function() { 
    var img=$(this).attr('src'); 

    $('.bottlesWrapper img').fadeOut('fast',function(){ 
    $(this).attr('src', img).fadeIn('fast'); 
    }); 

    $(this).fadeOut('fast',function(){ 
    var bottlersImg=$('.bottlesWrapper img').attr('src'); 
    $(this).attr('src', bottlersImg).fadeIn('fast'); 
    }); 

}); 

नोट: और आप each पाश ... jQuery खुराक की जरूरत नहीं है कि एक वर्ग चयनकर्ता का उपयोग करके ..

+0

काम नहीं कर रहा है :(बोतलों का यह एकमात्र बदलता स्रोत रैपर आईएमजी, अंगूठे के आईएमजी नहीं – itsMe

+0

ने मेरा जवाब अपडेट किया ... इसे आजमाएं – bipen

+0

बहुत बहुत धन्यवाद :) वास्तव में उपयोगी – itsMe

1

जैसा कि आपके पास टैगमें नहीं है 10 अपने कोड बिल्कुल काम नहीं करेगा, बजाय कोशिश .thumb पर क्लिक करके:

$('.thumbs').click(function() { 
    var thumbsimgSrc = $(this).find("img").attr('src'); 
    var bottleImgSrc = $('.bottlesWrapper img').attr('src'); 

    $(this).find("img").attr('src', bottleImgSrc); 

    $('.bottlesWrapper img').fadeOut('fast').promise().done(function(){ 
     $(this).attr('src', thumbsimgSrc).fadeIn('fast'); 
    }); 
    }); 
}); 

और .thumb ताकि आप .each() विधि के माध्यम से पुनरावृति की जरूरत नहीं है अपने आप में एक संग्रह है।

+0

यह काम करता है .. धन्यवाद :) – itsMe

+0

@itsMe धन्यवाद, आपने इसे देखा था। – Jai

+0

आपको बहुत बहुत धन्यवाद जय :) – itsMe