3

我花了很长时间弄清楚如何让流沙使用选择和选项表单而不是 href 链接。现在我有一个问题,因为动画是断断续续的。我不能顺利。它开始很好,然后突然回到左边。你可以看一个在线例子:

http://freecss.info/ScreencastTutorials/archive.html

有任何想法吗?我想了很多事情并进行了实验,但没有运气。其他脚本是兼容的,尝试更改为固定宽度并尝试添加一个带有溢出的保持器 div:隐藏。

相关的jQuery:

var $holder = $('ul#archive-full');
var $data = $holder.clone();
var mySelect = $('#mySelect');
mySelect.change(function() {
    var index = mySelect[0].selectedIndex;
    var element = mySelect[0].options[index];
    var $filterType = $(element).attr('value')
    if ($filterType == 'all') {
        var $filteredData = $data.find('li:not(li ul li)');
    }
    else {
        var $filteredData = $data.find('li[data-type~="' + $filterType + '"]');
    }
    $holder.quicksand($filteredData, {
        duration: 800,
        easing: 'easeInOutQuad'
    });
    return false;
});

相关 HTML

<select name="mySelect" id="mySelect" selected value="all">
 <option name="all" value="all">Free & Premium</option>
 <option name="free" value="free">Free Only</option>
 <option name="premium" value="premium">Premium Only</option>
</select>
<ul id="archive-full">
 <li data-id="id-1" data-type="all premium">/li>
</ul>
4

1 回答 1

4

对于迈克尔:

问题是使用相同的 ID 来设置无序列表的样式并使用 jQuery 为无序列表设置动画。

要解决这个问题,只需将一个类添加到无序列表中,并使用它来使用 CSS 对其进行样式设置。然后使用原始ID执行jQuery动画,例如:

<ul id="archive-full" class="archive-style">
于 2011-06-19T20:55:22.793 回答