2016-12-18 8 views
0

旧式のメインフレームプログラマ。 条件付きで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

関数が定義されていて、すべてが正常ですが、関数を呼び出せませんでした。 – Dekel

+0

もう一つの重要なことは、**ページが完全に読み込まれた後に**関数を呼び出す必要があります(そうでなければ、idが 'showpage'の要素はまだ存在せず、' document.getElementById 'まだ存在していない要素)。 – Dekel

答えて

1

スクリプト要素の言語属性はHTML 4 (1999)で廃止されましたし、それ以降のバージョンで削除されました。それを使用しないでください。あなたのコードで

があります:

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

あなたは、関数宣言の仮パラメータ・リストのパラメータを提供(すなわちfunction hola(x){...}Xが、それは関数本体の内部で変数を宣言することと等価です、そうX関数参照のグローバル1、Xローカルではありません。あなたは、パラメータリストからのxを削除、またはコールに渡し、例えば

012のどちらか一方しかできないこと
function hola() { 
    // use global x 
} 

または

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

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

あなたははいはいが呼び出された方法を示していないので、最も簡単な修正は秒です。

コメントによると、要素が読み込まれた後に関数を呼び出す必要があります。そのためwindow.onloadを使用します。

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

単純な答え:ロードするためにウィンドウを待ち、その後、holaを呼び出します。 (JavaScriptでは、内部でコードを呼び出す関数を呼び出す必要があります)。 holaで宣言さxパラメータはグローバル変数xをオーバーライドするため

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

また、あなたは、hola0を渡す必要があります。

関連する問題