尝试将所有脚本放入同一个“匿名”函数 ( $(function() { });
) 中,如下所示:
<script type="text/javascript">
...
// DOMContentLoaded
$(function() {
// bind radiobuttons in the form
var $filterType = $('#filter input[name="type"]');
var $filterSort = $('#filter input[name="sort"]');
// get the first collection
var $applications = $('#applications');
// clone applications to get a second collection
var $data = $applications.clone();
// attempt to call Quicksand on every form change
$filterType.add($filterSort).change(function(e) {
if ($($filterType+':checked').val() == 'all') {
var $filteredData = $data.find('li');
} else {
var $filteredData = $data.find('li[data-type=' + $($filterType+":checked").val() + ']');
}
// if sorted by size
if ($('#filter input[name="sort"]:checked').val() == "size") {
var $sortedData = $filteredData.sorted({
by: function(v) {
return parseFloat($(v).find('span[data-type=size]').text());
}
});
} else {
// if sorted by name
var $sortedData = $filteredData.sorted({
by: function(v) {
return $(v).find('strong').text().toLowerCase();
}
});
}
// finally, call quicksand
$applications.quicksand($sortedData, {
duration: 800,
easing: 'easeInOutQuad'
});
});
// >>>>>>>>>>>>> TO HERE >>>>>>>>>>>>>
// >>>>>>>>>>>>> TO HERE >>>>>>>>>>>>>
});
// ----- remove this ---->
</script>
<script type="text/javascript">
$(function() {
// <---- remove this -----
// <<<<<<<<<<<< MOVE THIS <<<<<<<<<<<<
$(".imgHover")
.live('mouseenter', function() {
$(this).children("img").fadeTo(200, 0.85).end().children(".hover").show();
})
.live('mouseleave', function() {
$(this).children("img").fadeTo(200, 1).end().children(".hover").hide();
});
// <<<<<<<<<<<< MOVE THIS <<<<<<<<<<<<
// ----- remove this ---->
})(jQuery);
// <---- remove this -----
</script>