2017-01-22 97 views
0

我有一個圖像上面四個較小的圖像。當用戶點擊其中一個較小的圖像時,較小的圖像會佔用較大的圖像。但仍然留在原來的位置。我想我接近解決它,但需要幫助。如何用一次點擊替換圖片src attr? jQuery

HTML

 <div class="col-md-8 modal-images"> 
     <div class="row large-image"> 
     <div class="col-md-12"> 
      <img src="One.png"> 
      </div> 
      </div> 
      <br/> 
      <div class="row small-image"> 
       <div class="col-md-4"> 
        <img src="One.png"> 
       </div> 
       <div class="col-md-4"> 
        <img src="Two.jpg"> 
       </div> 
       <div class="col-md-4"> 
        <img src="Three.jpg"> 
       </div> 
       <div class="col-md-4"> 
        <img src="Four.jpg"> 
       </div> 
      </div> 
      </div> 

JS

$('.small-image img').closest('.col-md-4').click(function(){ 
     var newimage = ($('.small-image img').closest('.col-md-4').find('img').attr('src')); 
     $('.large-image img').attr('src', newimage); 
    }); 
+0

這裏有問題嗎? – j08691

回答

2

嘗試用$(this).

$('.small-image img').closest('.col-md-4').click(function(){ 
 
     var newimage = ($(this).closest('.col-md-4').find('img').attr('src')); 
 
    console.log(newimage) 
 
     $('.large-image img').attr('src', newimage); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-md-8 modal-images"> 
 
     <div class="row large-image"> 
 
     <div class="col-md-12"> 
 
      <img src="One.png"> 
 
      </div> 
 
      </div> 
 
      <br/> 
 
      <div class="row small-image"> 
 
       <div class="col-md-4"> 
 
        <img src="One.png"> 
 
       </div> 
 
       <div class="col-md-4"> 
 
        <img src="Two.jpg"> 
 
       </div> 
 
       <div class="col-md-4"> 
 
        <img src="Three.jpg"> 
 
       </div> 
 
       <div class="col-md-4"> 
 
        <img src="Four.jpg"> 
 
       </div> 
 
      </div> 
 
      </div>

替代方法

它已經與母公司的目標。所以與孩子img

$('.small-image img').closest('.col-md-4').click(function(){ 
     var newimage = ($(this).children('img').attr('src')); 
    console.log(newimage) 
     $('.large-image img').attr('src', newimage); 
    }); 
+0

哇...四個小時的睡眠沒有幫助。謝謝您的幫助! – userlkjsflkdsvm

+0

在您的修復中,'$(this).closest('。col-md-4')'最近的部分不正確。在這個處理程序中,$(this)已經指向被點擊的'.col-md-4'元素。 – KaeyangTheG

1

匹配在單擊處理中,「這個」關鍵字將參照.COL-MD-4格。因此,考慮到以下幾點:

$('.small-image img').closest('.col-md-4').click(function(){ 
    var newimage = ($(this).find('img').attr('src')); 
    $('.large-image img').attr('src', newimage); 
});