Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.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_Jquery Isotope - Fatal编程技术网

Javascript 如何使用多重同位素过滤器

Javascript 如何使用多重同位素过滤器,javascript,jquery,filter,jquery-isotope,Javascript,Jquery,Filter,Jquery Isotope,如何使用多个同位素过滤器 我的第一个过滤器:选中复选框=>隐藏所有用户。没有化身类 $("#foto_filter").on("change",function(){ if($(this).is(":checked")) { $grid.isotope({filter: ['*:not(.no-avatar)' ]}); // zeig alli divs mit Fotis also

如何使用多个同位素过滤器

我的第一个过滤器:选中复选框=>隐藏所有用户。没有化身类

            $("#foto_filter").on("change",function(){
                  if($(this).is(":checked")) {

                       $grid.isotope({filter: ['*:not(.no-avatar)' ]});  // zeig alli divs mit Fotis also ohni .no-avatar class
            }else{

                $grid.isotope({filter: '*' })   // show all
            }
        })
第二个过滤器:使用带有2个句柄的jquery滑块-显示年龄在x和y之间的用户

            $( "#slider-range" ).slider({
            range: true,
            min: 18,
            max: 100,
            values: [ 18, 50 ],
            slide: function( event, ui ) {
                $( "#amount" ).val( ui.values[ 0 ] + " Jahre - " + ui.values[ 1 ]+" Jahre" );
                $grid.isotope({
                       filter: function() {
                        // _this_ is the item element. Get text of element's .number
                        var number = $(this).find('.age').text();
                        // return true to show, false to hide
                        return (parseInt( number, 10 ) >= ui.values[ 0 ]) && (parseInt( number, 10 ) <= ui.values[ 1 ]) ;  // here is the filter

                    }
                })

            }
        });
$(“#滑块范围”).滑块({
范围:对,
民:18,,
最高:100,
数值:[18,50],
幻灯片:功能(事件、用户界面){
$(“#金额”).val(ui.values[0]+“Jahre-”+ui.values[1]+“Jahre”);
$grid.com({
过滤器:函数(){
//这是item元素。获取元素的.number的文本
var number=$(this.find('.age').text();
//返回true表示显示,返回false表示隐藏

return(parseInt(number,10)>=ui.values[0])&(parseInt(number,10)我以前组合过多个同位素过滤器。您可以在这里看到一个示例:

组合过滤器功能是根据子目“组合过滤器”下的数据创建的

下面是组合上述示例中过滤器的代码:

    //define parent container and empty array object
    var $container = $('.task-container');
    filters = {};

    // store filter for each group
    var filters = {};

    $('ul.dropdown-menu li').on('click', 'a', function () {
        var $this = $(this);
        // get group key
        var $dropdownGroup = $this.parents('.dropdown');
        var filterGroup = $dropdownGroup.attr('data-filter-group');
        // set filter for group
        filters[filterGroup] = $this.attr('data-filter');
        // combine filters
        var filterValue = concatValues(filters);
        $container.isotope({
            filter: filterValue
        });
    });

    // flatten object by concatting values
    function concatValues(obj) {
        var value = '';
        for (var prop in obj) {
            value += obj[prop];
        }
        return value;
    }

您可以共享一个指向JSFIDLE或codepen的链接,以便更容易地制定解决方案吗?在本例中,复选框过滤器不起作用,我不知道为什么。我现在解决了我的问题:当复选框被选中时=>我将显示:无与css一起。这与数字过滤器结合使用。但这不是最好的方法。