每次我尝试更改图像时,我都无法让它正常工作 多个图像出现成倍的 我希望能够一次显示一个图像,如果我想我可以单击图像以便图像再次出现基本上。我还想在每张图片上使用可拖动和可调整大小
$(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();
$('#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>
只需将一次点击显示的图片更改为每次点击一张图片
最佳答案
看来你做了如下不正确的事情,
$('#dog').on('change', function() {
$("#lrgdogimges").css('display', (this.value == 'smalldog') ? 'block' : 'none');
});
$('#dog').on('change', function() {
$("#smdogimges").css('display', (this.value == 'largedog') ? 'block' : 'none');
});
您应该只绑定(bind)一次事件。
$('#dog').on('change', function() {
$("#lrgdogimges").css('display', (this.value == 'smalldog') ? 'block' : 'none');
$("#smdogimges").css('display', (this.value == 'largedog') ? 'block' : 'none');
});
请将以下代码移出 $('.subselector').on('change', function() {
方法。它多次绑定(bind) click
事件,因此出现了问题。
$('img').on('click', function() {
$('#fotos').append('<img class="modal-content" src="' + $(this).attr('src')+ '">');
});
关于javascript - 单击而不是一次显示多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41331429/