2009-12-10 63 views
0
this.randomtip = function(){ 
     var length = $("#showcase ul li").length; 
     var ran = Math.floor(Math.random()*length) + 1; 
     $("#showcase ul li:nth-child(" + ran + ")").show(); 
    }; 
    randomtip(); 

..the码以上.show()效果很好到底,但如果我将其更改为.addClass('show')它不会工作。规范不无.show()工作 - jQuery的

我想给它一个类,而不是将float:left属性应用于所有li项目而不是默认display:list-item。我该如何解决?

谢谢!

+0

你怎么隐藏提示? – 2009-12-10 14:03:25

+0

对我评论的回复?请更清楚您实际尝试实现的目标 – jitter 2009-12-12 23:57:31

回答

1

乔丹的回答后:

您可以从li更换display:none然后添加类是这样的:

$("#showcase ul li:nth-child(" + ran + ")").css('display','').addClass('show'); 
0

你是如何隐藏元素的第一个地方?例如,如果您将它设置为display: none,或者使用jQuery的hide(),它会执行相同的操作,那么它将覆盖其他地方定义的CSS,并将其隐藏,直到您将其删除。如果你同时使用.show()(删除display: none)和.addClass('show')(添加你的CSS类),它应该可以工作。

+0

我正在使用display:LI上没有,是的。我需要改变什么? – 3zzy 2009-12-10 14:08:44

0

尝试更换

$("#showcase ul li:nth-child(" + ran + ")").show(); 

这个

$("#showcase ul li:nth-child(" + ran + ")").addClass('show').show(); 
+0

这在技术上几乎解决了这个问题,但是其他的li仍然隐藏起来。我希望这段代码每次旋转至少显示7次,我在代码中改变了什么?谢谢! – 3zzy 2009-12-10 14:28:35

+0

咦?说实话,我不觉得你的评论与你提出的问题或你在那里提供的信息有关。 “每轮”和“至少7里”是什么意思?请详细说明你真正想要达到的目标。你目前的代码是根据你的选择器显示1个随机的“li” – jitter 2009-12-10 23:38:58

0

而不是display: none,使用.addClass('hidden')/.removeClass('hidden')