2017-03-14 8 views
0

1つのページに8つ以上のモーダルがあり、それぞれに固有のCSS IDがあります。私は1つのモーダルを使用しているときに次のjavascriptを使用していましたが、各CSS idを対象としていません。多くのjavascriptを知らなくても、カウンター変数を使って各モーダルを動的にターゲット設定する方法を知りたいと思います。インクリメンタルCSS idを使用した1ページの複数のモーダル

<button class="fsc-modal-button">Read Bio</button> 
<div class="fsc-modal" id="fsc-modal-1"> 
    <div class="fsc-modal-content"><span class="fsc-modal-close">×</span</div> 
</div> 

<button class="fsc-modal-button">Read Bio</button> 
<div class="fsc-modal" id="fsc-modal-2"> 
    <div class="fsc-modal-content"><span class="fsc-modal-close">×</span</div> 
</div> 


<script type="text/javascript"> 

var button = document.getElementsByClassName('fsc-modal-button')[0]; 
var modal = document.getElementsByClassName('fsc-modal')[0]; 
var span = document.getElementsByClassName('fsc-modal-close')[0]; 

button.onclick = function() { 
    modal.style.display = "block"; 
} 

span.onclick = function() { 
    modal.style.display = "none"; 
} 

window.onclick = function(event) { 
    if (event.target == modal) { 
     modal.style.display = "none"; 
    } 
} 
</script> 
+0

ユースケースを明確にすることはできますか?どのように各モーダルを開く必要がありますか? –

答えて

0
function openModal(id) { 
    var button = document.getElementsByClassName('fsc-modal-button')[0]; 
    var modal = document.getElementById('fsc-modal-' + id); 
    var span = document.getElementsByClassName('fsc-modal-close')[0]; 

    button.onclick = function() { 
    modal.style.display = "block"; 
    } 

    span.onclick = function() { 
    modal.style.display = "none"; 
    } 

    window.onclick = function(event) { 
    if (event.target == modal) { 
    modal.style.display = "none"; 
    } 
} 
} 

あなたがそうでopenModal(1)ととして機能を呼び出すことができます。

+1

IDセレクタ用の 'getElementById()' –

関連する問題