Javascript jQuery插件出现问题';jquery.shuffle.js';整理

Javascript jQuery插件出现问题';jquery.shuffle.js';整理,javascript,jquery,jquery-isotope,Javascript,Jquery,Jquery Isotope,我正在尝试使用一个名为shuffle.js的jQuery插件,该插件的工作原理与同位素类似——它可以在页面上的div之间来回移动。它创造了一个相当整洁的效果。 (见附件) 我无法把它分类。我研究过这些文件,可以发现我做错了什么。 测试页面如下: 当您更改第一行上方的下拉菜单时,应该会发生排序 <!doctype html> <head> <!-- css --> <style> body { font-family:aria

我正在尝试使用一个名为shuffle.js的jQuery插件,该插件的工作原理与同位素类似——它可以在页面上的div之间来回移动。它创造了一个相当整洁的效果。 (见附件)

我无法把它分类。我研究过这些文件,可以发现我做错了什么。 测试页面如下:

当您更改第一行上方的下拉菜单时,应该会发生排序

 <!doctype html>
 <head>

<!-- css -->
<style>
    body {
    font-family:arial;
    }

    #container {width: 960px; margin: 0 auto;}

    /* grid */
    #grid {clear: both; position: relative}
    .item {width: 75px; height: 155px; background: #EEEEEE;font-size: 10px;margin-bottom:10px; text-align: center;}

    .item img {
    width:75px;
    }

    .last_name {
    display:none;

    }

</style>

<!-- javascript -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<script src="jquery.shuffle.js"></script>

<script>
    $(document).ready(function() {

        /* initialize shuffle plugin */
        var $grid = $('#grid');

        $grid.shuffle({
            itemSelector: '.item', // the selector for the items in the grid
            gutterWidth: 10
        });


        // Sorting options
        $('.sort-options').on('change', function() {
         var sort = this.value,
             opts = {};

         // We're given the item wrapped in jQuery
         if ( sort === 'data-party' ) {
            opts = {
             reverse: true,
             by: function($el) {
                return $el.data('data-party');
             }
            };
         } else if ( sort === 'data-district' ) {
            opts = {
             by: function($el) {
                return $el.data('data-district');
             }
            };
         } else if ( sort === 'data-last_name' ) {
            opts = {
             by: function($el) {
                return $el.data('data-last_name');
             }
            };
         }

         // Filter items
         $grid.shuffle('sort', opts);
        });


    });
</script>

 </head>

 <body>

<!-- #container -->
<div id="container">

    <select class="sort-options">
     <option value="">Default</option>
     <option value="data-district">District</option>
     <option value="data-last_name">Last name</option>
     <option value="data-party">Party</option>
    </select>

   <!-- just show two items. Actual test page has about 60 -->

        <div id="grid">
            <div data-groups='["photography"]' class="item dem" data-party="dem" data-last_name="Abney" data-district="73">
               <img src="http://res.providencejournal.com/politics/assets/images/house-senate-thumbs/rep_marvin_l_abney.jpg"><br>
               <div class="name">Rep. Marvin L. Abney</div>
               <div class="last_name">Abney</div>
               <span class="party">(D-</span><span class="district">73)</span>
            </div>
            <div data-groups='["photography"]' class="item dem" data-party="dem" data-last_name="Ackerman" data-district="45">
               <img src="http://res.providencejournal.com/politics/assets/images/house-senate-thumbs/rep_mia_a_ackerman.jpg"><br>
               <div class="name">Rep. Mia A. Ackerman</div>
               <div class="last_name">Ackerman</div>
               <span class="party">(D-</span><span class="district">45)</span>
            </div>
        </div>
</div>
<!-- /#container -->

</body>

</html>

身体{
字体系列:arial;
}
#容器{宽度:960px;边距:0自动;}
/*网格*/
#网格{清除:两者;位置:相对}
.项目{宽度:75px;高度:155px;背景:#EEEEEE;字体大小:10px;页边距底部:10px;文本对齐:中间;}
.项目img{
宽度:75px;
}
.姓{
显示:无;
}
$(文档).ready(函数(){
/*初始化洗牌插件*/
var$grid=$(“#grid”);
$grid.shuffle({
itemSelector:'.item',//网格中项目的选择器
排水沟宽度:10
});
//排序选项
$('.sort options')。在('change',function()上{
var sort=this.value,
opts={};
//我们得到了用jQuery包装的项
如果(排序==‘数据方’){
选项={
相反:是的,
作者:职能部门($el){
返回$el.data(“数据方”);
}
};
}else if(排序===‘数据区’){
选项={
作者:职能部门($el){
返回$el.data(“数据区”);
}
};
}else if(排序==='data-last_name'){
选项={
作者:职能部门($el){
返回$el.data('data-last_name');
}
};
}
//过滤项
$grid.shuffle('sort',opts);
});
});
违约
地区
姓
聚会

众议员马文·艾布尼 艾布尼 (D-73)
众议员米娅·阿克曼 阿克曼 (D-45)

Firebug表示事件正在触发,但div不移动。任何帮助都将不胜感激

不知道是否相关,但在排序函数中不需要添加'data-'前缀,尽管div元素上需要它