javascript - 简单的 JS 过滤器(第一个选项卡事件 + 淡入淡出效果)

标签 javascript jquery

我有一个非常简单的内容过滤器,但我需要两个小东西来改进它:

  1. 如何让第一个选项卡默认处于事件状态?所以我不会显示所有内容。

  2. 有没有办法可以在单击其中一个选项卡时添加简单的淡入/淡出效果?

这是我的 HTMLJS:

$(document).ready(function(){  
    var filters = {};
    //when a link in the filters div is clicked...  
    $('#filters a').click(function(e){  
        e.preventDefault();  
        filters[$(this).parent().attr('class')] = $(this).attr('id');  
        var show = $('#content ul li').filter(function(){ 
            for(k in filters)
                if(
                   filters.hasOwnProperty(k) &&
                   !$(this).hasClass(filters[k])
                )
                return false;
            return true;
        });
        show.show();
        $('#content ul li').not(show).hide();
        $('pre:first').html(JSON.stringify(filters));     
    });  
}); 
<div id='filters'>
<p class="f1" >
    <a href='#' id='mon'>Monday</a>
    <a href='#' id='tue'>Tuesday</a>
    <a href='#' id='wed'>Wednesday</a>
    <a href='#' id='thur'>Thursday</a>
    <a href='#' id='allitems'>All</a>
</p>
</div>  


    <div id='content'>  
        <ul>  
            <li class='mon allitems'>monday content goes here</li>  
            <li class='tue allitems'>tuesday content goes here</li>  
            <li class='wed allitems'>wednesday content goes here</li>  
            <li class='thur allitems'>thursdaycontent goes here</li>   
        </ul>  
</div>  

最佳答案

第一个答案: 您可以使用 $('#mon').click(); 调用第一个链接的点击事件,这样您将触发点击事件并运行该函数。

第二个答案: jQuery 具有fadeIn() fadeOut() 函数。使用它们代替 show()

http://api.jquery.com/fadein/

http://api.jquery.com/fadeout/

Jsfiddle:https://jsfiddle.net/py3ezk9y/

关于javascript - 简单的 JS 过滤器(第一个选项卡事件 + 淡入淡出效果),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30704970/

相关文章:

javascript - Google Analytics - 当我们使用 Universal Analytics 而其他域使用传统时如何跨域跟踪?

javascript - jquery 在有序堆栈中添加 not-in-dom 元素(in-dom 元素)

javascript - 如何启用cookie

javascript - 在 Carousel 之外点击返回首页

javascript - jQuery .then() 和 success block 不能一起工作?

javascript - 如何获取 H1 标签的值并使用 Jest 和 RTL 对其进行测试

javascript - insidehtml 提交按钮

jquery - 是否可以使用 jquery 动画将文本从一个元素移动到另一个元素?

javascript - 使用 jQuery 选择器遍历 XMLDocument

javascript - 当选择相关选项时显示相关 div 并隐藏其他 div