jQuery通过链接触发click事件

时间:2015-01-06 08:49:13

标签: jquery hyperlink

我在一个网站上有一个UL,它使用以下jQuery来排序(隐藏或显示相关产品)

$('ul#portfolio li').each(function() {

                if(!$(this).hasClass(filterVal)) {

                    $(this).fadeOut('slow').addClass('hidden');

                } else {

                    $(this).fadeIn('slow').removeClass('hidden');

                }

            });

我想从单独的网站链接到此页面,但由于URL不受影响,我想知道是否仍然可以通过外部链接触发排序?

例如说一个选项是巧克力我想链接到页面并在加载时触发巧克力过滤器按钮?

1 个答案:

答案 0 :(得分:0)

您可能希望依赖于url中的查询:

http://yourhost.org?sort=chocolate

为此,您必须在本地函数中提取过滤:

var filterList = function( filterVal ) {
  $('ul#portfolio li').each( function() {
    if(!$(this).hasClass(filterVal)) {
      $(this).fadeOut('slow').addClass('hidden');
    } else {
      $(this).fadeIn('slow').removeClass('hidden');
    }
  });
});

// Now you can use filter list whenever you want:
filterList( 'strawberries' );

// E.g. depending on the query string:
// First lets parse the search string of the window location
var arrKeyVal, oQuery = {},
    arrQs = window.location.search.substring(1).split('&');
for( var i = 0; i < arrQs.length; i++ ){
   arrKeyVal = arrQs[i].split('=');
   if( arrKeyVal[0] !== '' ) {
     oQuery[ arrKeyVal[0] ] = arrKeyVal[1];
   }
}
// Now filter:
filterList( oQuery['sort'] );