实现同位素过滤器(基本)

时间:2013-09-17 17:35:56

标签: jquery jquery-isotope

我正在尝试在WordPress安装的新闻部分实施Isotope的过滤。我是JavaScript / jQuery的新手,我正在努力学习。我开始使用Filters section of the Isotope website中提供的代码。

没有运气,我开始使用谷歌搜索。在Stack Overflow上我发现Implementing isotop filtering portfolio with wordpress看起来很有希望,但没有回应。然后我找到了Implementing jQuery isotope。我想,哇,好吧,同样的问题。回答。大。

......但我的兴奋很快就变得更加沮丧。经过几个小时的修补后,我仍然坐在这里,没有任何东西可以显示出来。

我的简单问题是,我做错了什么/遗失/不理解

提前感谢您的帮助,健忘的詹姆斯

HTML OUTPUT

<div id="grid_page">
<ul id="isotope_filters">
    <li><a data-filter="*" href="#">show all</a></li>
    <li><a data-filter="event-planning" href="#">event planning</a></li>
    <li><a data-filter="marketing" href="#">marketing</a></li>
    <li><a data-filter="site-survey" href="#">site survey</a></li>
</ul>

<ul id="isotope_container">
    <li class="isotope_selector event-planning marketing">
        <a href="./link-1/"></a>
        <div class="caption">
            ...
        </div>
    </li>
    <li class="isotope_selector site-survey">
        <a href="./link-2/"></a>
        <div class="caption">
            ...
        </div>
    </li>
    <li class="isotope_selector event-planning marketing">
        <a href="./link-3/"></a>
        <div class="caption">
            ...
        </div>
    </li>
    <li class="isotope_selector marketing">
        <a href="./link-4/"></a>
        <div class="caption">
            ...
        </div>
    </li>
</ul>
</div>

的JavaScript

<script type="text/javascript">

$(window).load(function()

    // cache container
    var $container = $('#isotope_container');

    // initialize isotope
    $container.isotope({
    // options...
    animationEngine: 'best-available',
    itemSelector: '.isotope_selector'
    });

    // filter items when filter link is clicked
    $('#isotope_filters li a').on('click', function() {
    var selector = $(this).data('filter');
    $container.isotope({
    filter: selector
    });

});
</script>

1 个答案:

答案 0 :(得分:1)

你只是错过了一个左大括号(和你发现的选择器上的。):

<script type="text/javascript">

$(window).load(function() { <<<<

    // cache container
    var $container = $('#isotope_container');

    // initialize isotope
    $container.isotope({
    // options...
    animationEngine: 'best-available',
    itemSelector: '.isotope_selector'
    });

    // filter items when filter link is clicked
    $('#isotope_filters li a').on('click', function() {
    var selector = $(this).data('filter');
    $container.isotope({
    filter: selector
    });

});
</script>