2011-03-07 88 views
1

我使用JavaScript來根據時間切換表。但是我在DW中遇到錯誤。這個javascript有什麼問題?

 <script type="text/JavaScript"> 
<!-- 
function changeWebsite() { 
var currentTime = new Date().getHours();  

if (7 <= currentTime&&currentTime < 18) { 
     document.write(' <table id="Table_01" width="200" height="400" border="0" cellpadding="0" cellspacing="0"> 
    <tr> 
     <td> 
      <img src="http://itsnotch.com/tumblr/images/websitelist_tumblr_VC01.png" width="200" height="45" alt=""></td> 
    </tr> 
    <tr> 
     <td> 
      <a href="http://www.itsnotch.com" 
       onmouseover="window.status='Visit My Biography Website'; return true;" 
       onmouseout="window.status=''; return true;"> 
       <img src="http://itsnotch.com/tumblr/images/websitelist_tumblr_VC02.png" width="200" height="75" border="0" alt="ItsNotch.com"></a></td> 
    </tr> 
    <tr> 
     <td> 
      <a href="http://www.notchtheguru.com" 
       onmouseover="window.status='My Tumblr'; return true;" 
       onmouseout="window.status=''; return true;"> 
       <img src="http://itsnotch.com/tumblr/images/NotchTheGuru.comVC.png" width="200" height="119" border="0" alt="Tumblr"></a></td> 
    </tr> 
    <tr> 
     <td> 
      <a href="http://www.bignotch.com" 
       onmouseover="window.status='Welcome to My Music Website'; return true;" 
       onmouseout="window.status=''; return true;"> 
       <img src="http://itsnotch.com/tumblr/images/websitelist_tumblr_VC04.png" width="200" height="161" border="0" alt="NotchTheGuru.com"></a></td> 
    </tr> 
</table> 
<br> 
'); 
     } 

     else { 
     document.write(' <table id="Table_01" width="200" height="400" border="0" cellpadding="0" cellspacing="0"> 
    <tr> 
     <td> 
      <img src="http://itsnotch.com/tumblr/images/websitelist_tumblr_01.png" width="200" height="45" alt=""></td> 
    </tr> 
    <tr> 
     <td> 
      <a href="http://www.itsnotch.com" 
       onmouseover="window.status='Visit My Biography Website'; return true;" 
       onmouseout="window.status=''; return true;"> 
       <img src="http://itsnotch.com/tumblr/images/websitelist_tumblr_02.png" width="200" height="75" border="0" alt="ItsNotch.com"></a></td> 
    </tr> 
    <tr> 
     <td> 
      <a href="http://www.notchtheguru.com" 
       onmouseover="window.status='My Tumblr'; return true;" 
       onmouseout="window.status=''; return true;"> 
       <img src="http://itsnotch.com/tumblr/images/NotchTheGuru.com.png" width="200" height="119" border="0" alt="Tumblr"></a></td> 
    </tr> 
    <tr> 
     <td> 
      <a href="http://www.bignotch.com" 
       onmouseover="window.status='Welcome to My Music Website'; return true;" 
       onmouseout="window.status=''; return true;"> 
       <img src="http://itsnotch.com/tumblr/images/websitelist_tumblr_04.png" width="200" height="161" border="0" alt="NotchTheGuru.com"></a></td> 
    </tr> 
</table> 
<br> 
'); 
     } 

} 

changeWebsite(); 
--> 

錯誤是在第7行了 'document.write('

+3

什麼是錯誤? – kjy112 2011-03-07 18:32:23

+0

只有按下ENTER鍵,才能在JavaScript字符串中分行。 – 2011-03-07 18:38:18

+0

DW = dreamweaver? – 2011-03-07 18:39:57

回答

0

你混合單引號和雙引號,有錯誤,你需要躲避他們的。

3
  1. JavaScript不支持多行字符串
  2. 您在字符串內部有非轉義的單引號(這是delim用單引號引用)。
    例如,你必須變化

    onmouseover="window.status='Visit My Biography Website'; 
    

    到:

    onmouseover="window.status=\'Visit My Biography Website\'; 
    

有關詳細信息,通過JSLint運行代碼。

警告:JSLint會傷害你的感情。

+0

+1 JSLint聲明:-) – mellamokb 2011-03-07 18:40:53

1

你不應該從你的javascript寫這麼多HTML代碼。如果你經常這樣做,你的代碼將很快變得不可讀,這也是一個噩夢般的性能。

幾乎所有你寫的HTML代碼是一樣的,你最好做這樣的事情:

HTML代碼:

<table id="Table_01" width="200" height="400" border="0" cellpadding="0" cellspacing="0"> 
    <tr> 
     <td> 
      <img src="http://itsnotch.com/tumblr/images/websitelist_tumblr_01.png" width="200" height="45" alt="" id="image1"></td> 
    </tr> 
    <tr> 
     <td> 
      <a href="http://www.itsnotch.com" 
       onmouseover="window.status='Visit My Biography Website'; return true;" 
       onmouseout="window.status=''; return true;"> 
       <img src="http://itsnotch.com/tumblr/images/websitelist_tumblr_02.png" width="200" height="75" border="0" alt="ItsNotch.com" id="image2"></a></td> 
    </tr> 
    <tr> 
     <td> 
      <a href="http://www.notchtheguru.com" 
       onmouseover="window.status='My Tumblr'; return true;" 
       onmouseout="window.status=''; return true;"> 
       <img src="http://itsnotch.com/tumblr/images/NotchTheGuru.com.png" width="200" height="119" border="0" alt="Tumblr" id="image3"></a></td> 
    </tr> 
    <tr> 
     <td> 
      <a href="http://www.bignotch.com" 
       onmouseover="window.status='Welcome to My Music Website'; return true;" 
       onmouseout="window.status=''; return true;"> 
       <img src="http://itsnotch.com/tumblr/images/websitelist_tumblr_04.png" width="200" height="161" border="0" alt="NotchTheGuru.com" id="image4"></a></td> 
    </tr> 
</table> 
<br> 

Javascript代碼:

<script type="text/JavaScript"> 
function changeWebsite() { 
var currentTime = new Date().getHours();  

if (7 <= currentTime&&currentTime < 18) { 
    var baseURL = "http://itsnotch.com/tumblr/images/"; 
    document.getElementById("image1").src = baseURL + "websitelist_tumblr_VC01.png"; 
    document.getElementById("image2").src = baseURL + "websitelist_tumblr_VC02.png"; 
    document.getElementById("image3").src = baseURL + "NotchTheGuru.comVC.png"; 
    document.getElementById("image4").src = baseURL + "websitelist_tumblr_VC04.png"; 
} 
changeWebsite() 
</script> 

作爲小小的建議,你不應該改變自己的狀態欄當有人mouseover你的鏈接,這真的有點讓人失望,我例如。

+0

+1用於指出DRY代碼的乾淨程度。我沒有意識到這是一個大/複製粘貼工作。 – 2011-03-07 19:09:24