Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按数据属性筛选对象,并在每次使用时重置筛选器_Javascript_Jquery_Filter_Packery - Fatal编程技术网

Javascript 按数据属性筛选对象,并在每次使用时重置筛选器

Javascript 按数据属性筛选对象,并在每次使用时重置筛选器,javascript,jquery,filter,packery,Javascript,Jquery,Filter,Packery,我正试图模仿Itosoption pluggin for JQuery的过滤功能,因为我需要过滤图像,但实际上使用Itosoption会给页面上的一些视差扫描元素带来问题 我编写了这个简短的JQuery代码片段来切换那些没有数据属性data filter的图像。除了packypluggin在移除不匹配的项目后不会重新订购之外,它工作正常 我遇到的问题是,我需要在单击另一个筛选器链接后重置筛选器,就像单击了另一个筛选器一样,然后第一个筛选的元素消失,并且返回除已筛选元素之外的所有其他元素。我确信这

我正试图模仿Itosoption pluggin for JQuery的过滤功能,因为我需要过滤图像,但实际上使用Itosoption会给页面上的一些视差扫描元素带来问题

我编写了这个简短的JQuery代码片段来切换那些没有数据属性
data filter
的图像。除了
packy
pluggin在移除不匹配的项目后不会重新订购之外,它工作正常

我遇到的问题是,我需要在单击另一个筛选器链接后重置筛选器,就像单击了另一个筛选器一样,然后第一个筛选的元素消失,并且返回除已筛选元素之外的所有其他元素。我确信这个解决方案很简单,但我对JQuery的了解非常有限,所以我不知道如何处理这个问题

代码

我也没有办法用一个链接将所有元素返回到可见状态,非常感谢任何帮助

根据,您可以使用
toggle(true)

$(“#过滤器a”)。单击(函数(){
变量类型=$(this.attr('data-filter');
$('img').toggle(true).not('[data filter=“'+type+'”).toggle(1000);
});

根据,您可以使用
切换(true)

$(“#过滤器a”)。单击(函数(){
变量类型=$(this.attr('data-filter');
$('img').toggle(true).not('[data filter=“'+type+'”).toggle(1000);
});

根据,您可以使用
切换(true)

$(“#过滤器a”)。单击(函数(){
变量类型=$(this.attr('data-filter');
$('img').toggle(true).not('[data filter=“'+type+'”).toggle(1000);
});

根据,您可以使用
切换(true)

$(“#过滤器a”)。单击(函数(){
变量类型=$(this.attr('data-filter');
$('img').toggle(true).not('[data filter=“'+type+'”).toggle(1000);
});

我认为您不想使用切换来实现该功能。对于适合或不适合过滤器类型的不同类型,您可能会专门使用“隐藏”和“显示”。像这样:

$("#filters a").click(function()    {
    var type = $(this).attr('data-filter'),
        $img = $( 'img' );

    $img.filter( '[data-filter="'+type+'"]' ).show( 1000 );
    $img.not( '[data-filter="'+type+'"]' ).hide( 1000 );
});
然后,要重置所有过滤器,您可以在事件中使用单独的事件或条件,然后执行以下操作以显示所有图像:

$img.show( 1000 );

我认为您不想为该功能使用切换。对于适合或不适合过滤器类型的不同类型,您可能会专门使用“隐藏”和“显示”。像这样:

$("#filters a").click(function()    {
    var type = $(this).attr('data-filter'),
        $img = $( 'img' );

    $img.filter( '[data-filter="'+type+'"]' ).show( 1000 );
    $img.not( '[data-filter="'+type+'"]' ).hide( 1000 );
});
然后,要重置所有过滤器,您可以在事件中使用单独的事件或条件,然后执行以下操作以显示所有图像:

$img.show( 1000 );

我认为您不想为该功能使用切换。对于适合或不适合过滤器类型的不同类型,您可能会专门使用“隐藏”和“显示”。像这样:

$("#filters a").click(function()    {
    var type = $(this).attr('data-filter'),
        $img = $( 'img' );

    $img.filter( '[data-filter="'+type+'"]' ).show( 1000 );
    $img.not( '[data-filter="'+type+'"]' ).hide( 1000 );
});
然后,要重置所有过滤器,您可以在事件中使用单独的事件或条件,然后执行以下操作以显示所有图像:

$img.show( 1000 );

我认为您不想为该功能使用切换。对于适合或不适合过滤器类型的不同类型,您可能会专门使用“隐藏”和“显示”。像这样:

$("#filters a").click(function()    {
    var type = $(this).attr('data-filter'),
        $img = $( 'img' );

    $img.filter( '[data-filter="'+type+'"]' ).show( 1000 );
    $img.not( '[data-filter="'+type+'"]' ).hide( 1000 );
});
然后,要重置所有过滤器,您可以在事件中使用单独的事件或条件,然后执行以下操作以显示所有图像:

$img.show( 1000 );

您可能希望为这两个动画添加一个选项,以便同步执行它们。为此,您可以执行以下操作:show({duration:1000,queue:false});隐藏({持续时间:1000,队列:false});您可能希望为这两个动画添加一个选项,以便同步执行它们。为此,您可以执行以下操作:show({duration:1000,queue:false});隐藏({持续时间:1000,队列:false});您可能希望为这两个动画添加一个选项,以便同步执行它们。为此,您可以执行以下操作:show({duration:1000,queue:false});隐藏({持续时间:1000,队列:false});您可能希望为这两个动画添加一个选项,以便同步执行它们。为此,您可以执行以下操作:show({duration:1000,queue:false});隐藏({持续时间:1000,队列:false});