2016-06-13 12 views
0

これは私が現在考え出しているコードです。正しいタイトルが入力されますが、ページタイトルが一致するとページが表示されません。これを修正するにはどうすればいいですか? "ページタイトル、このコードを実行する場合"の適切な方法は何ですか?Javascript:ページタイトルに基づいてdivを表示/非表示にします。

<head> 
    <title>Page Name 1</title> 
</head> 
<body> 
    <style> 
     #notavailablemsg { 
     font-size: 30px; 
     color: #f04e37; 
     display: inline; 
     } 
     #notavailablemsg div { 
     display: inline; 
     visibility: hidden; 
     } 
     #submsg { 
     font-size: 22px; 
     visibility: hidden; 
     } 
     #pagename { 
     font-style: italic; 
     } 
    </style> 
    <center> 
     <div id="notavailablemsg"> 
      <div>The page </div> 
      <br> 
      <div id="pagename">page title</div> 
      <div> no longer exists</div> 
     </div> 
     <div id="submsg"> 
      We are sorry for the inconvenience. 
     </div> 
    </center> 
    <script> 
     var errortitle = document.getElementsByTagName("title")[0].innerHTML; 
     document.getElementById("pagename").innerHTML = errortitle; 
    </script> 
    <script> 
     if (errortitle == "Page Name 1") { 
      document.getElementByID("notavailablemsg").innerHTML.style.visibility = "visible"; 
      document.getElementByID("submsg").innerHTML.style.visibility = "visible"; 
     } 

    </script> 
</body> 
</html> 

@Midasは答えた:あなたは、現在のタイトルを取得するために使用することができますdocument.title

document.getElementById("notavailablemsg").style.visibility = "visible"; 
document.getElementById("submsg").style.visibility = "visible"; 
+0

あなたは 'if'文をフリップすることを意味していますか? 'errortitle'が' 'ページ名1''と等しくない場合に実行するように設定しました。 – Jack

+2

'document.getElementByID(" submsg ")。innerHTML.style.visibility'は' document.getElementById( "submsg")。style.visibility'でなければなりません。 'getElementById'の小さなdに注目してください。 – Midas

+0

それは可能性がある場合は、私は別の変数、次にタイトルを確認することをお勧めしますか? –

答えて

0

に変更します。あなたのタイトルがYourGoodTitleある場合

<!DOCTYPE html> 
<html> 
<head> 
    <title>YourGoodTitle</title> 
    <style> 
    div { 
     border: 1px solid red; 
     width: 100%; 
     height: 50px; 
     display: none; /* its good to use display: none to hide elements*/ 
    } 
    </style> 
</head> 

<body onload="myFunction()"> 

<h1>Hello World!</h1> 
<center> 
    <div id="notavailablemsg"> 
    Bad title 
    </div> 
    <div id="availablemsg"> 
    Glad you are here 
    </div> 
</center> 
<script> 
function myFunction() { 
    var title = document.title; 
    if(title == "YourGoodTitle") { 
     // select and make elements visible 
     document.getElementById("availablemsg").style.display = "block"; 
    } else { 
     // hide the elements you want, make their display = none; 
     // for example 

     document.getElementById("availablemsg").style.display = "none"; 

     // show your expected elements 
     document.getElementById("notavailablemsg").style.display = "block"; 
     } 
} 
</script> 

</body> 
</html> 

https://plnkr.co/edit/KS2obzXrUqtzT8FWUvwL?p=preview

だから、YourGoodTitleメッセージが表示されます。それ以外のバッドタイトルは印刷されます

+0

良い点は問題を解決しません – Midas

+0

ええ...私は誤って送信ボタンを押しただけです。私はそれを編集していた –

関連する問題