为什么不工作函数javascript调整大小?

时间:2018-01-30 17:52:53

标签: javascript function if-statement resize width

我的代码javascript无效。 如果宽度超过500像素,我希望这些功能正常工作。

<ul>
  <li class="dawid">Dawid</li>
  <li class="piotrek">Piotr</li>
  <li class="to">Tomek</li>
</ul>

和JAVASCRIPT代码 - 不工作

document.getElementById("dawid").addEventListener("click",displaytwo);
document.getElementById("piotrek").addEventListener("click",displayone);



function displaytwo(){

                    document.getElementById("piotrek").style.display='none';
                    document.getElementById("tomek").style.display='none';
                                }

function displayone(){
                    document.getElementById("dawid").style.display='none';
                    document.getElementById("tomek").style.display='none';
          }  

调整不工作

function screen_resize(){
var w = parseInt(window.innerWidth);
   if(w > 500)
   { 

     displaytwo();
     displayone();
   }}
$(window).resize(function(e) {
screen_resize();
});

$(document).ready(function(e) {
    screen_resize();
});

3 个答案:

答案 0 :(得分:0)

为了使用.getElementById,您需要对元素进行ID:

<ul>
  <li class="da" id="dawid">Dawid</li>
  <li class="pi" id="piotrek">Piotr</li>
  <li class="to" id="piotrek">tomek</li>
</ul>

答案 1 :(得分:0)

您需要在HTML元素上声明ID,否则getElementByID()将无效。

<ul>
    <li id="dawid" class="da">Dawid</li>
    <li id="piotr" class="pi">Piotr</li>
    <li id="tomek" class="to">Tomek</li>
</ul>

看起来你也在使用jQuery并且已经为它们分配了类,所以你也可以使用这段代码按类抓取DOM元素:

$(".da").click(displaytwo);
$(".pi").click(displayone);

function displaytwo(){
    $(".piotrek").css('display','none');
    $(".tomek").css('display','none');
}

function displayone(){
    $(".dawid").css('display','none');
    $(".tomek").css('display','none');
}  

答案 2 :(得分:0)

您的元素li中缺少ID,请添加ID:

<li class="dawid" id="dawid">Dawid</li>
<li class="piotrek" id="piotrek">Piotr</li>
<li class="to" id="tomek">Tomek</li>

document.getElementById("dawid").addEventListener("click", displaytwo);
document.getElementById("piotrek").addEventListener("click", displayone);

function displaytwo() {
  document.getElementById("piotrek").style.display = 'none';
  document.getElementById("tomek").style.display = 'none';
}

function displayone() {
  document.getElementById("dawid").style.display = 'none';
  document.getElementById("tomek").style.display = 'none';
}


function screen_resize() {
  var w = parseInt(window.innerWidth);
  if (w > 500) {
    displaytwo();
    displayone();
  }
}

$(window).resize(function(e) {
  screen_resize();
});

$(document).ready(function(e) {
  screen_resize();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li class="dawid" id="dawid">Dawid</li>
  <li class="piotrek" id="piotrek">Piotr</li>
  <li class="to" id="tomek">Tomek</li>
</ul>