繁体   English   中英

有条件的HTML“编程”遇到麻烦

[英]Having trouble with conditional html “programming”

旧的大型机程序员。 尝试有条件地显示或不显示html。 搜索并尝试了许多建议。 没运气。 非常感谢您的帮助。 最新测试尝试:

<html>
<head>
<title>July 27 - Lang Bay </title>
</head>
<script language="javascript">
    var x = 0;
    function hola(x) {
        if(x == 0) {           
          document.getElementById("showpage").style.visibility="hidden";
        }
    }
</script>
<body>
<div id="showpage">
    <p><font size=+1>July 27 - Lang Bay </font>
    <br><TABLE>
    <TR>
    <TD><br><a href="../../jpg/2009/090727_052p.jpg"><img SRC="../../jpg/2009/090727_052ptn.jpg"><br>B.C., Lang Bay<br>Afternoon on the beach </a>
    <TD><br><a href="../../jpg/2009/090727_053p.jpg"><img SRC="../../jpg/2009/090727_053ptn.jpg"><br>B.C., Lang Bay<br>Heather McCutcheon, Sydney </a>
</div>

</body> 
</html>

脚本元素的语言属性在HTML 4(1999)中已弃用,在更高版本中已删除。 不要使用它。

在您的代码中有:

var x = 0;
function hola(x) {
  if (x == 0) {           
    document.getElementById("showpage").style.visibility="hidden";
  }
}

当你提供一个函数声明的形式参数列表中的参数(即在X function hola(x){...}那么它等同于声明函数体内的变量,因此X的函数引用局部X ,而不是全局变量,您可以从参数列表中删除x ,也可以将其传递给调用,例如

function hola() {
  // use global x
}

要么

function hola(x) {
  // use local x
}

// pass value of global x in the call
hola(x);

由于您尚未显示hola的调用方式,因此第二个是最简单的解决方法。

正如评论所说,您需要在元素加载后调用该函数。 为此使用window.onload

window.onload = function() {
  hola(x);
}

简单答案:等待窗口加载,然后调用hola (在javascript中,您需要调用函数来调用其中的代码)。

window.addEventListener('load', function() {
  hola(0);
});

另外,您需要将0传递给hola ,因为在hola声明的x参数会覆盖全局变量x

暂无
暂无

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

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