繁体   English   中英

jQuery隐藏li元素,然后淡入按钮悬停

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM