2013-11-23 34 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/

相关问题