如何使用jquery在时间间隔内显示两个li

时间:2011-01-04 05:44:27

标签: jquery

<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.js"></script>
<style type="text/css">
body
{
color:green;
}
</style>
<script type="text/javascript">
$(document).ready(function()
{
 setInterval(findYellow,1000);    
 function findYellow()
{
  $("ul").each(function()
{
   var $this = $(this);
   if($this.css("color") != "green")
{
    $this.css("color", "green");
   $this.text("abcd blue");
   }
else
{
    $this.css("color", "blue");
     $this.text("abcd green");
   }
  });
 }

});
</script>
</head>



    <body>
        <ul>This is a sample set
            <li>1</li>
            <li>3</li>
            <li>5</li>
            <li>7</li>
            <li>9</li>
        </ul>

    </body>
</html>

3 个答案:

答案 0 :(得分:1)

这是一种方法没有 JQuery

HTML:

<ul>
  <li id='one' style='display:none'>One</li>
  <li id='two' style='display:none'>Two</li>
</ul>

使用Javascript:

function showOne() {
  document.getElementById('one').style.display = '';
}

function showTwo() {
  document.getElementById('two').style.display = '';
}

setTimeout(showOne,1000);
setTimeout(showTwo,2000);

您还可以使用任何.childNodes[]对象的<ul>数组属性按索引获取列表元素。

答案 1 :(得分:0)

使用

$("li")

而不是

$("ul").

答案 2 :(得分:0)

如果您想独立更改li的颜色,请使用$("ul li")代替$("ul"),这会迭代li元素下的每个ul元素

我认为您的代码$().css("color")返回RGB值而不是颜色green存在更多问题,因此您if条件将始终失败。

使用this post中提供的方法将rgb值转换为十六进制值,然后比较这些值。

检查此fiddle中的工作解决方案。

在问题的相同间隔部分中需要有关li的更多信息。