Prefilter Quicksand Page - jQuery

时间:2012-09-24 18:59:25

标签: javascript jquery html filter

我是否有办法预先过滤此页面以仅显示“应用程序”。

就像,如果我访问http://razorjack.net/quicksand/demos/one-set-clone.html#app,它只会显示'应用'。这可能吗?

在一些人周围搜索说这会有所帮助:

if(window.location.hash) {
                // run code here to filter the quicksand set
                var $filteredData = $data.find('li[data-type=' + window.location.hash + ']');
                $applications.quicksand($filteredData, {
                    duration: 800
                });
            }

但我不知道在哪里使用它。

非常感谢这里的任何帮助 - 真的卡住了。

1 个答案:

答案 0 :(得分:2)

$(document).ready(function(){
   //on page load, we check to see if a hash value exists.
   if(window.location.hash) {
       // run code here to filter the quicksand set
       var $filteredData = $data.find('li[data-type=' + window.location.hash + ']');
       $applications.quicksand($filteredData, {
           duration: 800
       });
   }else{
       // the page does not have a hash value. deliver normal content.
       $applications.quicksand('Your Normal Data Here', {
           duration: 800
       });
   }
});

此代码仅在页面准备好后运行。它检查是否存在哈希值。如果是,则会将数据过滤到li的{​​{1}}元素。然后它准备流沙相应地过滤数据。如果没有哈希值,我们通常会加载流沙。我不知道你为你的选择器做了什么,所以只需用你使用的数据过滤器替换data type equal to the hash value

应该注意的是,根据示例,他们希望您拥有'Your Normal Data Here'结构,如下所示 - >

<li>

其中<li data-type="data1"> //stuff </li>将是预期的哈希值用于过滤目的。