我认为这不是特别复杂,但我只是开始理解jquery。基本上我有一个数组,在加载页面时显示一个随机列表元素短语。这是一个小提琴和代码:http://jsfiddle.net/uRd6N/
jquery:
var list = $("ul li").toArray();
var elemlength = list.length;
var randomnum = Math.floor(Math.random()*elemlength);
var randomitem = list[randomnum];
$(randomitem).css("display", "block");
html:
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
<li>Item 6</li>
</ul>
css:
body { font-family: Helvetica, Arial, sans-serif; font-size:20px; }
li { display: none; }
我想要的是实现.mouseover和.mouseout,所以当鼠标光标在列表元素上时,它以每秒10个短语的速率滚动其他短语(仅作为示例)。我只是不确定如何实现.mouseover和.mouseout,确切的语法让我搞砸了。任何帮助,将不胜感激。
答案 0 :(得分:2)
注意 $("ul li")
会返回数组,因此不需要.toArray()
。
使用.eq(number)
选择特定的索引元素。
使用.mouseover()
附加活动。
var list = $("ul li");
var elemlength = list.length;
var randomnum = Math.floor(Math.random() * list.length);
var randomitem = list.eq(randomnum);
randomitem.css("display", "block");
$("ul li")
.mouseover(function () {
// Use `this` to refer to currently hovered element.
})
.mouseleave(function () {
})
;
答案 1 :(得分:0)
您可以使用$(array)
将数组转换回jquery对象(元素列表)。
使用点击的示例:
$(list).click(function() { alert($(this).text()); })
更新小提琴(点击):QAF Data Driven
使用鼠标悬停的示例:
$(list).mouseover(function() { alert($(this).text()); })
您可以在没有.toArray()
的情况下完成所有工作,然后无需转换回来。