2016-12-26 58 views
1

我一直無法讓這個工作每次我嘗試更改圖像多個圖像出現倍增我希望能夠一次顯示一個圖像和如果我想要我可以點擊圖像,以便圖像再次基本出現。此外,我想用拖動和可調整大小的每個圖像多個圖像正在點擊而不是一次顯示

$(document).ready(function() { 
 
    $('#imajes').change(function() { 
 
    $('.subselector').hide(); 
 
    $('.smallimages').hide(); 
 
    $('#' + $(this).val()).show(); 
 
    }); 
 
    $('.subselector').on('change', function() { 
 
    $('.smallimages').hide(); 
 
    var id = $(this).attr('id'); 
 
    var val = $(this).val(); 
 
\t 
 
$('#dog').on('change', function() { 
 
    $("#lrgdogimges").css('display', (this.value == 'smalldog') ? 'block' : 'none'); 
 
}); 
 

 
$('#dog').on('change', function() { 
 
    $("#smdogimges").css('display', (this.value == 'largedog') ? 'block' : 'none'); 
 
}); 
 
    
 
    
 

 
    $('img').on('click', function() { 
 
    var src = $(this).attr('src'); 
 
    $('#fotos').append('<img class="modal-content" src="' + src + '">'); 
 
}); 
 
}); 
 
});
<script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
 

 
<div id="fotos" ><img class="modal-content" id="imgdisplay" /></div> 
 

 

 
<select id="imajes"> 
 
    <option value="">Choose Image</option> 
 
    <option value="dog">dog</option> 
 
    <option value="cat">cat</option> 
 
</select> 
 

 

 
<select id="dog" name="subselector" class="subselector" style="display:none"> 
 
    <option value="">Choose an item</option> 
 
    <option value="smalldog">small dog</option> 
 
    <option value="largedog">Large Dog</option> 
 
</select> 
 

 

 
<select id="cat" name="subselector" class="subselector" style="display:none"> 
 
    <option value="">Choose an item</option> 
 
    <option value="smallcat">small cat</option> 
 
</select> 
 

 
    
 
<div style='display:none;' id="lrgdogimges" class="smallimages"> 
 
    <div data-image="http://i.imgur.com/iXHPRVf.jpg"> 
 
    <img src="http://i.imgur.com/iXHPRVf.jpg" alt="Smiley face" width="55" height="55"> 
 
    </div> 
 
    <div data-image="https://torcdesign.com/shirts/lyellow.jpg"> 
 
    <img src="https://torcdesign.com/shirts/lyellow.jpg" alt="Smiley face" width="55" height="55"> 
 
    </div> 
 
</div> 
 
<div style='display:none;' id="smdogimges" class="smallimages"> 
 
    <div data-image="https://torcdesign.com/shirts/wlsblack.jpg"> 
 
    <img src="https://torcdesign.com/shirts/wlsblack.jpg" alt="Smiley face" width="55" height="55"> 
 
    </div> 
 
    <div data-image="http://i.imgur.com/iXHPRVf.jpg"> 
 
    <img src="http://i.imgur.com/iXHPRVf.jpg" alt="Smiley face" width="55" height="55"> 
 
    </div> 
 
    
 
</div> 
 

 
<div style='display:none;' id="catimges" class="smallimages"> 
 
    <div data-image="http://i.imgur.com/BHoIzPj.jpg"> 
 
    <img src="http://i.imgur.com/BHoIzPj.jpg" alt="Smiley face" width="55" height="55"> 
 
    </div> 
 
</div>

只是改變了影像在點擊顯示只是每次點擊一個

回答

1

看來你如下做了一些不正確,

$('#dog').on('change', function() { 
    $("#lrgdogimges").css('display', (this.value == 'smalldog') ? 'block' : 'none'); 
}); 

$('#dog').on('change', function() { 
    $("#smdogimges").css('display', (this.value == 'largedog') ? 'block' : 'none'); 
}); 

您應該只有一次綁定的事件。

$('#dog').on('change', function() { 
    $("#lrgdogimges").css('display', (this.value == 'smalldog') ? 'block' : 'none'); 
    $("#smdogimges").css('display', (this.value == 'largedog') ? 'block' : 'none'); 
}); 

請按照$('.subselector').on('change', function() { 方法中的代碼移動你。它因此多次綁定事件。

$('img').on('click', function() { 
    $('#fotos').append('<img class="modal-content" src="' + $(this).attr('src')+ '">'); 
}); 
+0

對不起,它不工作如何我想要它,我希望能夠顯示每次點擊圖像,如果我點擊5次,我想圖像顯示五次 – xcalliber

+0

然後追加是正確的。那麼你追加的問題是什麼? – ScanQR

+0

每次我改變圖像每次點擊的圖像數乘以爲什麼發生這種情況 – xcalliber

1

據我瞭解,你想上在您的#fotos容器內一次只顯示一張照片。對於這一點,簡單地改變.append()功能.html(),如:

$('img').on('click', function() { 
    var src = $(this).attr('src'); 
    $('#fotos').html('<img class="modal-content" src="' + src + '">'); 
}); 

這將替換的img#fotos而不是插入另一個。

+0

所有做的是替換用另一個我要保持形象,增加更多,並添加同一多次 – xcalliber

+0

那我就不明白什麼是你想要的照片。請更新您的問題以更好地反映您的期望結果。 – rabelloo