JQuery Fadeout,然后fadein工作,但闪烁效果

时间:2010-03-24 15:49:51

标签: javascript jquery

我有这两个人:

<ul actualpage="0" id="lastcompanieslist" hideable="true" upperpage="1">
   <li page="0" style="display: none;"><img src="/images/OrangeArrow.jpg">1</
   <li page="0" style="display: none;"><img src="/images/OrangeArrow.jpg">2</li>
   <li page="0" style="display: none;"><img src="/images/OrangeArrow.jpg">3</li>
   <li page="0" style="display: none;"><img src="/images/OrangeArrow.jpg">4</li>
   <li page="0" style="display: none;"><img src="/images/OrangeArrow.jpg">5</li>
   <li page="1" style="display: none;"><img src="/images/OrangeArrow.jpg">6</li>
   <li page="1" style="display: none;"><img src="/images/OrangeArrow.jpg">7</li>
</ul>


<ul actualpage="0" id="lastmodifiedcompanies" hideable="true" upperpage="1">
   <li page="0" style="display: none;"><img src="/images/OrangeArrow.jpg">1</li>
   <li page="0" style="display: none;"><img src="/images/OrangeArrow.jpg">2</li>
   <li page="0" style="display: none;"><img src="/images/OrangeArrow.jpg">3</li>
   <li page="0" style="display: none;"><img src="/images/OrangeArrow.jpg">4</li>
   <li page="0" style="display: none;"><img src="/images/OrangeArrow.jpg">5</li>
   <li page="1" style="display: none;"><img src="/images/OrangeArrow.jpg">6</li>
   <li page="1" style="display: none;"><img src="/images/OrangeArrow.jpg">7</li>
   <li page="1" style="display: none;"><img src="/images/OrangeArrow.jpg">8</li>
   <li page="1" style="display: none;"><img src="/images/OrangeArrow.jpg">9</li>
</ul>

这是我单击按钮时执行的javascript代码:

function Paging(ul)
{
  //ul is the jquery ul that should be paged
  ul.find('li[page!=' + $($(this).parent()).attr('actualpage') + ']').fadeOut(500,
  function() 
  {
      ul.find('li[page=' + $($(this).parent()).attr('actualpage') + ']').fadeIn(500);
  }
  );
}

我试图根据当前页面编号逐渐淡出LI元素(此数字存储在父UL的属性'actualpage'中,并在淡化其页面与父UL的actualpage属性匹配的LI元素之后。

效果有效但闪烁,你知道为什么吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

可能缺乏浏览器性能,我们可以看到一个示例或您测试的浏览器的信息,如果您只在一个上测试,请尝试另一个并让我们看看它是否在两者上闪烁相同:)

编辑现在我知道问题是什么,你的照片必须是绝对的,所以它们是一个在另一个上面。我很确定这就是问题所在。只需尝试将position: relative添加到您的ul并position: absolute添加到您的li,这将解决我希望的问题

答案 1 :(得分:0)

您是否尝试将固定宽度设置为li元素?
也许闪烁的效果是由于javascript试图使用一组有时不太精确的函数来设置框的尺寸。