2013-11-23 31 views
0

實際上我想知道這個問題的背後的概念。我想要逐個選擇一個字符串的字符,並希望通過使用Java腳本一個接一個地顯示它們。 看看我究竟想說什麼http://www.yupptv.com/Movies/Movies.aspx顯示字符串的字符,如運行打字的方式

在這個頁面中看到菜單欄下方的最新消息。

這一形象http://www.sendspace.com/file/wftvr3

應該是什麼這背後,我應該用什麼函數的概念中看到了什麼?

謝謝。

+1

它被稱爲_marquee_。它有很多小部件。 – Barmar

+0

將您的圖像放在問題中。 – leaf

+0

[Google搜索結果](https://www.google.com.bd/search?q=javascript+typing+effect&rlz=1C1KMZB_enBD539BD539&oq=javascript+typeing&aqs=chrome.2.69i57j0l5.14309j0j7&sourceid=chrome&espv=210&es_sm=122&ie=UTF- 8)。 –

回答

1

這是一個非常基本的一個(純文本格式):

var s = 'This is a demo on how to build a marquee.', 
    i = 0; 
setTimeout(function() { 
    document.body.innerHTML += s[i++]; 
    i < s.length && setTimeout(arguments.callee, 50); 
}, 50); 

和現場演示:http://jsfiddle.net/wared/B2CrB/

這是另一個使用jQuery處理HTML的演示:http://jsfiddle.net/wared/HVBMv/。它只通過Chrome進行了測試,但我的目標主要是爲您提供一個可玩的基礎,以及儘可能小的代碼量。

+0

非常感謝。這對我來說是非常有幫助的。 – SPGuar

+0

我可以在這裏使用setInterval()函數來代替setTimeout()嗎?它們是一樣的嗎? – SPGuar

+0

當然你可以:)我已經添加了一個例子。 – leaf

0

至於您的評論的答覆,這裏是用setInterval一種替代方案:

var s = 'This is a demo on how to build a marquee.', 
    i = 0, 
    id; 
id = setInterval(function() { 
    document.body.innerHTML += s[i]; 
    ++i === s.length && clearInterval(id); 
}, 50); 

關於JavaScript的定時器https://developer.mozilla.org/en-US/docs/Web/JavaScript/Timers


以閃爍的下劃線:

<span></span><span>_</span> 
var s = 'This is a demo on how to build a marquee.', 
    spans = document.getElementsByTagName('span'), 
    text = spans[0], 
    dash = spans[1], 
    i = 0, 
    id; 

id = setInterval(function() { 
    text.innerText += s[i]; 
    if (++i === s.length) { 
     clearInterval(id); 
     dash.style.visibility = 'hidden'; 
     setInterval(function() { 
      dash.style.visibility = (
       dash.style.visibility === 'visible' ? 'hidden' : 'visible' 
      ); 
     }, 700); 
    } 
}, 50); 

演示:http://jsfiddle.net/wared/5LDs3/

相關問題