[英]jQuery hide li elements, then fade in on button hover
我有一个标准的ul
列表,其中包含五个li
元素。 在第三个元素之后,我在列表中放了一个CSS类.morecats
。
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<button class="morecats">+</button>
<li>4</li>
<li>5</li>
</ul>
使用jQuery,我隐藏了前三个li
元素:
$('ul')
.find('li:gt(3)')
.hide()
.end();
现在,我想的jQuery淡入并显示被隐藏的li
元素,当用户将鼠标悬停在按钮.morecats
。 我还想要一个名为.bg
的单独div来淡入/出现。
怎么可以实现呢?
实现此目的的一种方法是通过jQuery悬停功能 。 官方的例子甚至还有淡入淡出的例子,你可以看一下。
$(".morecats").hover(
function(){ // When the hover begins
$('li').slice(-2).fadeIn(500);
},
function(){ // When the hover ends
$('li').slice(-2).fadeOut(500);
}
);
切片获取最后两个li
元素。
Jsfiddle: http : //jsfiddle.net/wDLVQ/2/
你可以通过prevAll()
jQuery函数实现它:
你可以在这里阅读更多 - http://api.jquery.com/prevAll/
$('ul')
.find('li:lt(3)')
.hide(); //<----------------------------first 3 li hidden
$(".morecats").hover(
function(){
$(this).prevAll('li').fadeIn(500); // when hover the button fadeIn the
$('.bg').fadeIn(500); // hidden li and .bg div.
},
function(){
$(this).prevAll('li').fadeOut(500); // used it to fadeout the first 3
} // lis again.
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.