Javascript toggle visibility multiple divs

后端 未结 4 1765
难免孤独
难免孤独 2020-12-20 04:14

http://blog.movalog.com/a/javascript-toggle-visibility/

this is a page with some code and a script im using in my site for an image gallery, however when trying to t

4条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-20 04:48

    You can use

    function toggle_visibility(id) {
       function toggle(id){
          var el = document.getElementById(id);
          el.style.display = el.style.display==='none' ? 'block' : 'none';
       }
       if(id instanceof Array){
          for(var i=0; i

    And call it like

    toggle_visibility('myid');
    toggle_visibility(['myid1','myid2','myid3']);
    

    Another possible way is using arguments variable, but that could slow down your code

    function toggle_visibility() {
       function toggle(id){
          var el = document.getElementById(id);
          el.style.display = el.style.display==='none' ? 'block' : 'none';
       }
       for(var i=0; i

    And call it like

    toggle_visibility('myid');
    toggle_visibility('myid1','myid2','myid3');
    

    If you don't want to create the function toggle each time you call toggle_visibility (thanks @David Thomas), you can use

    var toggle_visibility = (function(){
       function toggle(id){
          var el = document.getElementById(id);
          el.style.display = el.style.display==='none' ? 'block' : 'none';
       }
       return function(id){
          if(id instanceof Array){
             for(var i=0; i

    Or

    var toggle_visibility = (function(){
       function toggle(id){
          var el = document.getElementById(id);
          el.style.display = el.style.display==='none' ? 'block' : 'none';
       }
       return function(){
          for(var i=0; i

提交回复
热议问题