javascript - 单击而不是一次显示多个图像

标签 javascript jquery html image

每次我尝试更改图像时,我都无法让它正常工作 多个图像出现成倍的 我希望能够一次显示一个图像,如果我想我可以单击图像以便图像再次出现基本上。我还想在每张图片上使用可拖动和可调整大小

$(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/

相关文章:

javascript - 如何迭代选定的<select multiple>中的选项?

javascript - 将编码后的 php json 传递给 javascript

javascript - 获取在语义 ui 中选中的 radio 值

html - 在我的例子中如何将垂直对齐设置为中间?

javascript - 如果几秒钟后在 div 内空闲,则隐藏鼠标光标

JavaScript : The global variables value cannot be changed

javascript - 获取IE中的innerHeight

jquery - 平滑缩放动画 JQuery

javascript - 无法在禁用和启用状态下断言双操作按钮

IOS 2 上的 Javascript window.open 窗口错误