有条件的html“编程”有问题

时间:2016-12-18 01:23:16

标签: javascript html

旧的一次性大型机程序员。 试图有条件地显示或不显示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>

2 个答案:

答案 0 :(得分:1)

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

在您的代码中有:

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

当你在函数声明的形式参数列表中提供一个参数(即function hola(x){...}中的 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);
}

答案 1 :(得分:0)

简单回答:等待窗口加载,然后调用Dim rngSource As Range Dim lCol As Long With Worksheets("Sheet1") 'Determine last column lCol = .Cells(1, .Columns.Count).End(xlToLeft).Column 'Set range source data to be included in listbox Set rngSource = .Range(.Cells(1, 1), .Cells(1, lCol)) 'Populate listbox with range source data lstAllFields.List = Application.Transpose(rngSource.Cells.Value) End With 。 (在javascript中,你需要调用函数来调用它们内部的代码。)

hola

此外,您需要将window.addEventListener('load', function() { hola(0); }); 传递给0,因为hola中声明的x参数会覆盖全局变量hola