我目前正在尝试使用 Quicksand,这是一个 jquery 插件,它允许您通过隐藏和显示基于标签的某些元素来为页面上的元素设置动画。我有那个工作得很好。我的问题是,随着元素的缓动,它们在移动时会放大。一旦他们安顿下来,他们就会缩小到适当的大小,但这看起来非常奇怪,我想首先弄清楚为什么会发生这种情况。
这是我对流沙的偏好的 main.js 文件:
$(document).ready(function() {
// get the action filter option item on page load
var $filterType = $('#filterOptions li.active a').attr('class');
// get and assign the ourHolder element to the
// $holder varible for use later
var $holder = $('ul.ourHolder');
// clone all items within the pre-assigned $holder element
var $data = $holder.clone();
// attempt to call Quicksand when a filter option
// item is clicked
$('#filterOptions li a').click(function(e) {
// reset the active class on all the buttons
$('#filterOptions li').removeClass('active');
// assign the class of the clicked filter option
// element to our $filterType variable
var $filterType = $(this).attr('class');
$(this).parent().addClass('active');
if ($filterType == 'all') {
// assign all li items to the $filteredData var when
// the 'All' filter option is clicked
var $filteredData = $data.find('li');
}
else {
// find all li elements that have our required $filterType
// values for the data-type element
var $filteredData = $data.find('li[data-type~=' + $filterType + ']');
}
// call quicksand and assign transition parameters
$holder.quicksand($filteredData, {
duration: 800,
easing: 'easeInOutQuad'
});
return false;
});
});
流沙文件本身保持不变,除了我将文档中的所有“高度”更改为“宽度”,因为我没有为任何 div 指定高度。
感谢您的帮助!如果您需要查看 HTML 或 CSS 来解决问题,请告诉我。