2016-12-26 18 views
2

div内に複数の画像を表示するにはどうすればよいですか?私は画像のライブラリを持っています&私はそれらをクリックすると、div内の画像を表示したい。複数の画像を複数のクリックで表示する

は、私はので、私はので、私は2回をクリックし3回犬に私は猫の画像を2回たい&をクリックして犬の画像を3回にしたいとしましょう。クリック時にこれを行うためのJavaスクリプトは何でしょうか?

2番目のドロップダウンで画像が表示されたら、もう1つ画像を消すことができますか?

var modal = document.getElementById('myModal'); 
 
var modalImg = document.getElementById("img01"); 
 

 
function clickedPhoto(src) { 
 
    modalImg.src = src; 
 
} 
 

 

 

 
function fctCheck(imajes) { 
 
    var elems = document.getElementsByName("subselector"); 
 
    for (var i = 0; i < elems.length; i++) { 
 
    elems.item(i).style.display = "none"; 
 
    } 
 
    document.getElementById(imajes).style.display = "block"; 
 
} 
 
$('#dog').on('change', function() { 
 
    $("#dogimges").css('display', (this.value == 'smalldog') ? 'block' : 'none'); 
 
}); 
 
$('#cat').on('change', function() { 
 
    $("#catimges").css('display', (this.value == 'smallcat') ? 'block' : 'none'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="myModal" class="modal"> 
 
    <img class="modal-content" id="img01"> 
 
</div> 
 

 

 
<select id="images" onchange="fctCheck(this.value);"> 
 
    <option value="">Choose Image</option> 
 
    <option value="dog">dog</option> 
 
    <option value="cat">cat</option> 
 
</select> 
 

 

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

 
</select> 
 

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

 
</select> 
 

 

 
<div style='display:none;' id="dogimges"> 
 
    <div data-image="http://i.imgur.com/iXHPRVf.jpg"> 
 
    <img src="http://i.imgur.com/iXHPRVf.jpg" alt="Smiley face" width="55" height="55" onclick="clickedPhoto(this.src)"> 
 
    </div> 
 
</div> 
 

 

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

+0

uがあなたの最後の質問について私に説明できる「私は2番目のドロップダウンは、画像を表示する際、画像が消えることができますどのようにもう一つ?」私は理解していません – areiilla

+0

別のイメージを選択すると、ドロップダウンのimgが消えません。あなたが最初に犬を選択してから猫を選択した場合、犬はその説明が難しく消えません – xcalliber

答えて

4

内の削除コンテンツあなたはすでにそれの機能を使用し、その後にjQueryを使用している場合。あなたが探していたものがいくつか修正されましたか?このコードはさらに最適化することができます。

$(document).ready(function() { 
 
    $('#images').change(function() { 
 
    $('.subselector').hide(); 
 
    $('.smallimages').hide(); 
 
    $('#' + $(this).val()).show(); 
 
    }); 
 
    $('.subselector').on('change', function() { 
 
    $('.smallimages').hide(); 
 
    var id = $(this).attr('id'); 
 
    var val = $(this).val(); 
 

 
    $("#" + id + "imges").css('display', 'block'); 
 
    }); 
 

 
    $('img').on('click', function() { 
 
    var src = $(this).attr('src'); 
 
    $('#myModal').append('<img class="modal-content" src="' + src + '">'); 
 
    }); 
 
});
<div id="myModal" class="modal"> 
 
    <img class="modal-content" id="img01"> 
 
</div> 
 

 

 
<select id="images"> 
 
    <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> 
 
</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="dogimges" 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> 
 

 

 
<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> 
 
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>

+0

私は小さな犬、中型犬、大きな犬を犬のcattegoryの下に置いておきたい場合はどうしたらいいですか?同じ画像 – xcalliber

+0

いくつかのコードを表示し、私は助けることができます。 – aavrug

+0

https://jsfiddle.net/oojggt03/ – xcalliber

0
var clickedPhoto=(function(){ 
    var id=0; 
    function fun(src) { 

    var str=" <img class='modal-content' id='img"+id+"' src="+src+">"; 
    modal.innerHTML= modal.innerHTML+str; 
    id+=1; 
    } 
    return fun; 
})(); 

のdivのid myModal

関連する問題