从jQuery .load中排除URL数组

时间:2015-09-03 23:05:30

标签: jquery ajax

我使用以下脚本在Wordpress上加载页面。

我试图通过scrippt中的jquery页面加载来排除一个url地址数组。我正在考虑使用一个使用targetPage变量的if语句,但是在排除数组时遇到了麻烦。

网址的格式为:

/特殊报价/

/接触/

  jQuery('ul.menu li a').click(function() {
      jQuery('section').fadeOut(500);
          var targetPage = jQuery(this).attr('href');
              targetPage += " section";
      setTimeout(function() {
          jQuery('section').load(targetPage, function() {
              jQuery('section').fadeIn(500);
          });
      });
  return false;
  });

所以基本上如果var targetPage不是{/ special-offers /,/ contact /}的数组,则.load不会触发

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式完成此操作:

在数组中声明排除的url结尾(无斜杠)

var excludedURLs = ['special-offers', 'contact'];

然后在超时功能中,您可以检查网址结尾是否在excludedURLs数组中:

jQuery('ul.menu li a').click(function () {
    var excludedURLs = ['special-offers', 'contact'];

    jQuery('section').fadeOut(500);

    var targetPage = jQuery(this).attr('href');

    targetPage += " section";

    setTimeout(function () {
        var lastSegment = targetPage.split('/');
        var result = lastSegment[lastSegment.length - 2];
        if (!jQuery.inArray(result, excludedURLs) > -1) {
            jQuery('section').load(targetPage, function () {
                jQuery('section').fadeIn(500);
            });
        }
    },250);
    return false;
});

targetPage的一个示例是http://example.com/abcd/contact/