2013-06-21 3 views
0

Я пытаюсь запустить немного кода, чтобы вспыхивать favicon взад и вперед между 2 .ico бесконечно каждую секунду. Пока у меня есть этот код, который меняет его один раз, но не снова;flash favicon вперёд

var favUrl = "favicon.ico"; 
var flashFavIco = function() { 
    if(favUrl == "favicon.ico") { 
     favUrl = "favicon-white.ico"; 
    } else { 
     favUrl = "favicon.ico"; 
    } 
    console.log(favUrl); 
    var link = document.createElement('link'); 
    link.type = 'image/x-icon'; 
    link.rel = 'shortcut icon'; 
    link.href = 'http://www.mysite.com/' + favUrl; 
    document.getElementsByTagName('head')[0].appendChild(link); 
}; 
setInterval(flashFavIco, 1000); 

Я проверил добавления console.log() сек в если/других секциях, чтобы проверить, что favURL был установлен время каждой секунды, что это было действительно. Поэтому я немного зациклился на том, почему значок только меняется один раз. Это проблема с браузером?

Edit: Я понимаю, что это постоянно добавляет новые <link ... теги к голове, и я работаю над написанием, что appendChild часть по-другому, это не влияет на мой первоначальный вопрос

ответ

0

я переписал часть он и теперь работает;

var favUrl = "favicon.ico"; 
var link = document.createElement('link'); 
    link.type = 'image/x-icon'; 
    link.rel = 'shortcut icon'; 
    link.href = 'http://www.mysite.com/' + favUrl; 
    link.id = "favico"; 
document.getElementsByTagName('head')[0].appendChild(link); 

var flashFavIco = function() { 
    if(favUrl == "favicon.ico") { 
     favUrl = "favicon-white.ico"; 
    } else { 
     favUrl = "favicon.ico"; 
    } 
    $('#favico').prop('href', 'http://www.mysite.com/' + favUrl); 
}; 
setInterval(flashFavIco, 1000); 
0

Переписал его для вас.

// Edit these 
var faviconNormal = "/faviconNormal.ico"; 
var faviconActive = "/faviconActive.ico"; 
var faviconID = "#myfavicon"; // CSS selector for your <link> element 

// Declarations 
var faviconElement = document.querySelector(faviconID); 
var faviconIsActive = false; 

function flashFavicon() { 
    if (faviconIsActive == false) { 
     changeFavicon(faviconActive); 
     faviconIsActive = true; 
    } 
    else { 
     changeFavicon(faviconNormal); 
     faviconIsActive = false; 
    } 
} 

function changeFavicon(src) { 
    faviconElement.href = src; 
} 

// Run 
var initFlashing = setInterval(flashFavicon, 1000); 
Смежные вопросы