2014-01-09 5 views
0

Этот код исчезает с каждой страницы, прежде чем перейти к адресу назначения. Однако есть несколько случаев, когда пользователь не переходит на новую страницу, а переходит в PDF-файл в браузере или открывает почтовое приложение по умолчанию. На Safari кажется, что если вы перейдете на внешний сайт (www.twitter.com) и нажмите кнопку «Назад», то .wrapper все еще исчезнет. (? Возможно, кэш вещь)Переходы страниц, в зависимости от URL

function fadeAndGo(x) { 

     $(x).click(function (e) { 
     e.preventDefault(); 
     var href = this.href; 
     $('.wrapper').fadeOut(function(){ 
      window.location = href; 

     }); 
     // $('.wrapper').delay()fadeIn(); 
    }); 
} 

fadeAndGo('a'); 

Можно ли как:

  • гаснуть только если URL не содержит 'PDF, MailTo' или внешней ссылке?
  • Затухание через определенное количество времени (оно исчезло, но исчезло через пару секунд, если это PDF/mailto).

ответ

0

Попробуйте это:

function fadeAndGo(x) { 
    $(x).click(function (e) { 
     e.preventDefault(); 
     var href = $(this).attr("href"); 
     if (!/PDF|mailto/gi.test(href)) { 
      $('.wrapper').fadeOut(function() { 
       window.location = href; 
      }).delay(2000).fadeIn(); 
     } else { 
      window.location = href; 
     } 
    }); 
} 

fadeAndGo('a'); 
+0

Спасибо! Есть ли логичный способ, чтобы он постепенно исчезал через 2 секунды? Когда я пытаюсь положить .delay (2000), он вообще перестает уходить. –

+0

Конечно, вы можете. измененный код –

Смежные вопросы