Попробуйте это:
setTimeout(function() { window.link = true; }, 5000);
Это установит глобальную переменную "link" в true через 5 секунд, что удовлетворит ваш оператор if.
Редактировать
Это может быть немного сложно, если вы новичок, но лучший способ сделать это - использовать область видимости функции, а не глобальную область видимости.
В вашем случае объявите функцию таймера следующим образом:
var timer = (function () {
var link = false;
setTimeout(function() { link = true; }, 5000);
return function() {
alert(link);
};
}());
Таким образом, анонимная функция возвращает другую функцию, которая становится timer (), но таким образом, таймер имеет доступ к своей «закрытой» переменной ссылки. Для получения дополнительной информации, прочитайте статью Mozilla о области видимости переменных JavaScript