jQuery插件'jQuery .shuffle.js'执行排序
Trouble making jQuery plugin 'jquery.shuffle.js' perform a sort
我正在尝试使用一个名为shuffle.js的jQuery插件,它应该与同位素工作相似-它可以在页面上shufflediv。它创造了一个非常整洁的效果。(参见http://vestride.github.io/Shuffle/)
我不能让它排序。我研究了医生,可以找到我做错的地方。测试页面在这里:http://res.providencejournal.com/politics/assets/pages/general-assembly/shuffle.htm
排序应该发生在你对第一行上方的下拉菜单进行更改时。
<!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>
Firebug表示事件正在触发,但是div没有移动。任何帮助将不胜感激!
不知道是否相关,但在排序函数中不需要添加'data-'前缀,尽管它在div元素上是必需的。
相关文章:
- 插入按字母顺序、javascript或jquery排序的新列表
- jQuery - 排序后更新可排序列表
- jQuery排序验证
- jQuery排序和appendTo在Internet Explorer和Safari中不起作用
- jQuery排序输入
- jQuery排序失败
- Jquery排序结果不一致
- jQuery排序元素,移除、分离、克隆、附加内存泄漏
- Jquery排序功能不工作
- jQuery排序功能不能正常工作
- 使用jquery排序元素
- 让backbone.js视图知道jQuery排序表中的更新
- jQuery排序
- 更新绑定与jQuery排序
- 如何通过使用Javascript或JQuery排序第一个数组来排序第二个数组
- 使用jQuery排序JSON对象
- 使用JQuery排序插入
- JQuery排序和过滤列表
- 如何使jQuery排序工作与更多的字符
- 使用jquery排序与CSS转换/过渡