2015-11-06 91 views
0

海蘭有「在新標籤中打開」, 我注意到幾頁有非常甜蜜的頁面轉換(一個例子:semplicejQuery的頁面過渡,但保持

如果你點擊頁面淡出導航,重載和現在我試圖自己創造一些東西。我爲fadeIn和fadeOut創建了效果。然後我創建了這樣的東西:

$(function(){ 
    fadeInbody(); 
    $('ul#navi li a').click(function(e) { 
     e.preventDefault(); 
     newLocation = this.href; 
     fadeInbody(function(){ 
      window.location = newLocation; 
     }); 
    }); 
}); 

實際上,這對於正常的左鍵單擊很有效。

但現在我有一個鼠標按鈕,可以在新選項卡中自動打開鏈接。我使用這個按鈕相當多。在這種情況下,因爲e.preventDefault();它打破了這種行爲,並打開頁面在同一個標​​籤。

有沒有更好的創建類似這樣的東西而不會違反默認行爲? (在semplice中 - 例如鼠標按鈕的新選項卡)

+0

當你說mousebutton時,你指的是什麼? –

+0

'if(e.which!= 1)return; e.preventDefault();等等......'如果我明白你的意思 –

+0

那麼在這種情況下,我的意思是鼠標滾輪。但我也看到老鼠把它當作一個按鈕.. –

回答

0

您可以檢查用戶在事件的which屬性中點擊了哪個按鈕。

所以,你的代碼應該是這樣的:

$(function(){ 
    fadeInbody(); 
    $('ul#navi li a').click(function(e) { 
     if (e.which == 1) { 
      e.preventDefault(); 
      newLocation = this.href; 
      fadeInbody(function(){ 
       window.location = newLocation; 
      }); 
     } 
    }); 
}); 

當用戶用鼠標左鍵點擊你基本上運行褪色的邏輯。

有關跨瀏覽器兼容性信息的問題,請參閱下面的註釋。