2016-12-26 57 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