2014-09-11 54 views
-3

我試圖在Javascript中顯示文本。在Javascript中顯示文本

這是我的代碼:

HTML:

<div id="t1">Ecologie</div> 
<div id="t2">Planète</div> 
<div id="t3">BIO</div> 
<div id="t4">Responsable</div> 
<div id="t5">Changement</div> 
<div id="t6">Durable</div> 
<script type="text/javascript">var mytimeout = setTimeout(DisplayElem(), 2000) 
</script> 

CSS:

#t1 
{ 
    position: absolute; 
    color: green; 
    font-size: 50px; 
    top: 50%; 
    left: 13%; 
    display: none; 
} 

#t2 
{ 
    position: absolute; 
    color: green; 
    font-size: 60px; 
    top: 40%; 
    left: 70%; 
    display: none; 
} 

和Javascript:

function Display (elem) { 
    elem.style.display = block; 
} 

var compteur = 0; 
function DisplayElem() 
{ 
    compteur += 1; 
    var id = 't' + compteur; 
    elem = document.getElementById(id); 
    Display(elem); 
    mytimeout = setTimeout(DisplayElem(), 2000) 
    if(compteur == 6) 
    { 
     window.clearTimeout(mytimeout); 
    } 
} 

我得到這個錯誤:未捕獲的ReferenceError:塊未定義 在我的線上:elem.style.display = block;

當我打開我的頁面時,我希望我的所有div都不可見。但幾秒鐘後,我想對誰出現,而下一個,下一個...

謝謝

+4

改變它elem.style.display =「塊」 – 2014-09-11 09:17:14

回答

1

這是您的完整的工作代碼:

var compteur = 1; 
function Display (elem) { 
    elem.style.display = 'block'; 
} 

function DisplayElem() 
{ 
    var id = 't' + compteur; 
    elem = document.getElementById(id); 
    Display(elem); 
    compteur += 1; 
    if (compteur <= 6) 
     setTimeout(DisplayElem, 2000); 
} 

DisplayElem(); 

See the DEMO here

0

你已經忘記了串block周圍的分隔符:

function Display (elem) { 
    elem.style.display = 'block'; 
} 

邊注:除了設置超時最後一次,然後刪除它,只需跳過設置它:

if (compteur < 6) { 
    mytimeout = setTimeout(DisplayElem(), 2000) 
} 
+0

謝謝你,現在我得到了一個其他錯誤:未捕獲的類型錯誤:在同一無法讀取空的特性「風格」 line – Quentin 2014-09-11 09:24:46

+0

@Quentin:這意味着你的'getElementById'調用不會返回一個元素,即你正在查找的元素不存在。這是因爲你在使用它來創建id之前增加了數量,所以它將通過't7'尋找't2'而不是't1'到't6'。 – Guffa 2014-09-11 09:58:30