简体   繁体   English

Javascript div在移动设备上切换

[英]Javascript div toggling on mobile

Got couple divs that should hide/unhide based on what user has selected in the dropdown list. 得到了一对应根据用户在下拉列表中选择的内容隐藏/取消隐藏的div。 I know that problem is in the html part of the code onclick event, thus it doesnt work on smartphones. 我知道问题出在代码onclick事件的html部分,因此在智能手机上不起作用。 Any ideas how I could change the code for it to work? 有什么想法可以更改代码使其正常工作吗?

    var divs = ["2019vasara", "2019ruduo"];
    var visibleDivId = null;
    function divVisibility(divId) {
      if(visibleDivId === divId) {
        visibleDivId = null;
      } else {
        visibleDivId = divId;
      }
      hideNonVisibleDivs();
    }
    function hideNonVisibleDivs() {
      var i, divId, div;
      for(i = 0; i < divs.length; i++) {
        divId = divs[i];
        div = document.getElementById(divId);
        if(visibleDivId === divId) {
          div.style.display = "block";
        } else {
          div.style.display = "none";
        }
      }
    }
<select>
<option onclick="divVisibility('2019ruduo');">2019 Rudens sezonas</option>
<option onclick="divVisibility('2019vasara');">2019 Vasaros sezonas</option>
</select>

Onclick attributes are not supported on option elements. 选项元素不支持Onclick属性。 Change it to onchange and move it to your select instead, like this: 将其更改为onchange,然后将其移至您的选择,如下所示:

 function divVisibility(value) { alert('Selected: ' + value); } 
 <select onchange="divVisibility(this.value)"> <option value="2019ruduo">2019 Rudens sezonas</option> <option value="2019vasara">2019 Vasaros sezonas</option> </select> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM