2013-01-16 22 views
1

基本上我寫了一些自定義的JS來做頁面之間的淡入/淡出。該腳本本身非常好用,當我點擊任何新鏈接時,內容淡出並淡入新頁面。我遇到的麻煩是,當我點擊像「mailto:[email protected]」這樣的鏈接時,它會加載電子郵件程序,但網站仍然沒有淡入內容。我想要的是使某些鏈接成爲一個我可以添加到JS的類,因此當它們被點擊時,我的淡入淡出JS不會加載,鏈接就會像沒有JS一樣工作。我以爲我可以在包裝它的if/else語句,如:JS如果/否則讓類忽略特定的JS

if (.thisclass).clicked 
{not load the below JS} 
else 
{ here is my original JS} 

這裏是我的代碼是:

 // Menu Animation 
    $(function() { 
    $("#menu").css("display", "none"); 

    $("#menu").fadeIn(500); 

    $("a").click(function(event){ 
     event.preventDefault(); 
     linkLocation = this.href; 
     $("#menu").delay(400).fadeOut(500, redirectPage);  
    }); 

    function redirectPage() { 
     window.location = linkLocation; 
    } 
}); 
    $(function(){ 
     $("#menu").addClass("visible"); 

// mainFade Animation 
}); 
    $(function() { 
    $("#mainFade").css("display", "none"); 

    $("#mainFade").delay(400).fadeIn(500); 

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

    function redirectPage() { 
     window.location = linkLocation; 
    } 
}); 
    $(function(){ 
     $("#mainFade").addClass("visible"); 
}); 

// Slogan Animation 

    $(function() { 
    $("#line1").css("display", "none"); 

    $("#line1").delay(800).fadeIn(500); 


}); 
$(function() { 
    $("#line2").css("display", "none"); 

    $("#line2").delay(1400).fadeIn(500); 


}); 
$(function() { 
    $("#line3").css("display", "none"); 

    $("#line3").delay(1600).fadeIn(500); 


}); 

$(function() { 
    $("#demo").css("display", "none"); 

    $("#demo").delay(2100).fadeIn(500); 


}); 

下面是該網站的鏈接,以供參考。聯繫頁面有一些Mailto鏈接。

The Site

+0

你有什麼嘗試?您只需在調用.fadeOut函數前使用if語句來檢查電子郵件鏈接。 –

回答

0

您可以您的兩個$("a").click(function(event){功能更改爲$("a").not('.email-class').click(function(event){。這將在任何沒有email-class類的鏈接上觸發動畫。

+0

非常感謝。現在唯一的問題是動畫不會在加載時淡入。任何增加.not('。email-class')的原因都會使這不起作用? – Packy

+0

不,一切都應該像以前一樣工作。 – Samsquanch

+0

現在工作正常。非常感謝。完美的修復! – Packy