如何使用Javascript超时来应用jQuery addClass
这是我的整个文档:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.highlighted { color:green; font-weight:bold; }
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
function itemHighlight(n)
{
$(function() {
$("ul > li:eq("+n+")").addClass("highlighted");
});
}
NumofLi = $('li').length;
for(i = 0; i < NumofLi; i++) {
var timeoutvar = $("ul > li:eq("+i+")").attr('data-time');
setTimeout("itemHighlight("+i+")", timeoutvar);
}
});
</script>
</head>
<body>
<ul>
<li data-time="4000">foo</li>
<li data-time="5000">foo</li>
<li data-time="9000">foo</li>
<li data-time="11000">foo</li>
<li data-time="15000">foo</li>
</ul>
</body>
</html>
我希望 li 在相应的“数据时间”毫秒之后添加“突出显示”类。
Here is my entire document:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.highlighted { color:green; font-weight:bold; }
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
function itemHighlight(n)
{
$(function() {
$("ul > li:eq("+n+")").addClass("highlighted");
});
}
NumofLi = $('li').length;
for(i = 0; i < NumofLi; i++) {
var timeoutvar = $("ul > li:eq("+i+")").attr('data-time');
setTimeout("itemHighlight("+i+")", timeoutvar);
}
});
</script>
</head>
<body>
<ul>
<li data-time="4000">foo</li>
<li data-time="5000">foo</li>
<li data-time="9000">foo</li>
<li data-time="11000">foo</li>
<li data-time="15000">foo</li>
</ul>
</body>
</html>
I would like the li's to have the class "highlighted" added after their corresponding 'data-time' milliseconds.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
试试这个:
工作示例: http://jsfiddle.net/AlienWebguy/dzAGn/2/
Try this:
Working example: http://jsfiddle.net/AlienWebguy/dzAGn/2/
JsFiddle 示例
JsFiddle example
您的函数位于
$(document).ready(...)
内。把它放在外面:Your functions is inside
$(document).ready(...)
. Put it outside: