使用内部链接在页面加载时淡入/淡出页面

时间:2014-03-11 04:05:54

标签: javascript jquery loading loader

我有这个淡入/淡出页面的脚本

(function($) {
  $(window).load(function() {
    $('#preloader').fadeOut();
    $('#wrap').fadeIn();


    $("a").click(function(event){
        event.preventDefault();
        linkLocation = this.href;
        $("#wrap").fadeOut(redirectPage);  
    });

    function redirectPage() {
        window.location = linkLocation;
    }

  });
})(jQuery);

但我有一些我不想影响的外部链接,所以我不想针对这些。

我找到了如何使用此脚本测试内部链接

var siteURL = "http://" + top.location.host.toString();
var internalLinks = $("a[href^='"+siteURL+"'], a[href^='/'], a[href^='./'], a[href^='../'], a[href^='#']");

但我真的不知道如何将两者结合起来!有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为你使用正则表达式,

试试这个,

var patt = new RegExp('(\/|..\/|.\/|#|https:\/\/www.google.co.in)');
var $internalLinks = [];
$('a').each(function(index){
    if(patt.test($(this).attr('href'))){
 $(this).addClass('fadeclass');
};
})

$('input').click(function(){
$('.fadeclass').fadeOut('slow')
});

Demo JsFiddle

从上面的代码中,我使用正则表达式来匹配href,当我提到外部链接时,我添加了fadeclass。你可以使用fadeclass。