2016-01-15 2 views
0

Я хочу сделать кнопку Clickable, которая ждет 10 секунд, чтобы загрузить связанную страницу. Мне было интересно, нужен ли ему Href? Если кто-то знает, как мне помочь.Как сделать ссылку HREF wait

+1

Вы должны использовать JavaScript для реализации времени ожидания перед загрузкой новой страницы. –

+0

Не могли бы вы привести пример ожидания JS? im sorta new для JS – HelpmePLS

+0

Большое спасибо – HelpmePLS

ответ

2

Как вы отметили Javascript и не JQuery ....

Что-то вроде

JavaScript:

function loadUrl(){ 
    window.location.href = "http://www.google.com"; 
} 

Ссылка:

<a href="JavaScript:setTimeout(loadUrl,10000)">Click My Link</a> 

ИЛИ

JavaScript:

function delayUrlLoad(url, mils) 
{ 
    setTimeout(function() { 
     window.location.href = url; 
    }, mils) 
} 

Ссылка:

<a href="#" onclick="delayUrlLoad('http://www.google.com/', 10000);return false;"> Click Here </a> 
+0

@downvoter: позаботиться о причинах? – Fred

+1

clean & short :-) (и JS не jquery как OP спросил) –

+0

Было бы намного чище без встроенного JS или, по крайней мере, если бы функция 'setTimeout()' была внутри функции. – JJJ

0

Как насчет?

HTML:

<button id="yourbutton" href="https://www.google.com"> 
     Click Me 
    </button> 

JQuery/JS:

$("#yourbutton").on("click", function(event) { 
    var url = $(this).attr('href'); 
    setTimeout("loadPage(url)", 10000); 
    event.preventDefault(); 
}); 

function loadPage(url){ 
    window.location.href = url; 
} 

FIDDLE (это обыкновение загрузить новую страницу в JSFiddle как это песочницу, но если вы проверяете консоль, это действительно пытается загрузить страницу после таймаута).

+1

Часть из того факта, что она использует jquery (такая же моя ошибка), это неправильно, вы немедленно выполняете функцию loadPage! setTimeout ожидает, что функция будет выполнена позже. (-1 не был моим действительно) – abidibo

+0

jQuery в сторону - вы правы, он не работал. Забыл передать функцию как строку. Исправлен код и скрипка. Спасибо. – Korgrue

-2

Вам необходимо включить JQuery, чтобы запустить этот код, но это идея

<a href="http://www.url.com">Click Me</a> 
$("a").on("click", function (event) { 
    event.preventDefault(); 
    var timeout = setTimeout(function() { 
    var url = $(this).attr("href"); 
    location.replace(url); 
    }, 10000); 
}); 
+0

> Вам нужно будет включить jQuery

+0

Потому что более 75% сообщества веб-разработчиков уже включают jQuery. – mhodges

+1

[править] – JJJ

-2

Таким образом:

HTML

<span id="link" data-href="http://www.google.it">click here</span> 

JS

$('#link').on('click', function() { 
    setTimeout(function() { 
     location.href = $('#link').attr('data-href'); 
    }, 10000); 
}); 
Смежные вопросы