Случайная ссылка в новом окне (нужна помощь)
Добрый день, друзья!
Столкнулся с такой проблемой. Есть код:
<script>
var links = [
"ссылка 1",
"ссылка 2",
"ссылка 3",
"ссылка 4"
];
function openRandLink (links, tr) {
var a = document.createElement ("a"),
f = function () {
document.body.appendChild (a);
a.click ();
a.parentNode.removeChild (a);
};
a.style.opacity = "0";
a.href = links[Math.floor (Math.random () * links.length)];
a.target = "_blank";
setTimeout (f, tr * 1000);
}
window.addEventListener ("load", function () {
openRandLink (links, 3);
});
</script>
Код открывает случайную ссылку через ~3 секунды после загрузки страницы. Пытался переделать код таким образом, чтобы он срабатывал только при клике, но как-то не преуспел в этом. Насколько я понимаю, в ссылке необходимо прописать <a href="openRandLink (links, tr)"> текст ссылки </a>, но убрав строчку (setTimeout (f, tr * 1000);) скрипт не срабатывает. Помогите разобраться в возникшей проблеме. Заранее спасибо! |
ytREDFOX,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script>
var links = [
"ссылка 1",
"ссылка 2",
"ссылка 3",
"ссылка 4"
];
function openRandLink (links, tr) {
var a = document.getElementById("test");
var link = links[Math.floor (Math.random () * links.length)];
a.href = link;
a.target = "_blank";
a.text = link;
}
window.addEventListener ("load", function () {
openRandLink (links);
});
</script>
</head>
<body>
<a id="test"></a>
</body>
</html>
|
Если я все правильно понял, то Вы убрали элементы таймера и приписали к тегу "а" появление случайной ссылки. Возможно, я не так описал проблему: нужно не появление самой ссылки в новом окне, а чтобы случайная ссылка открывалась в новой вкладке после клика.
PS Извините, за мой неправильный подход к формированию поста и описанию проблемы. |
Цитата:
|
рони, Спасибо большое, разобрался!
|
| Часовой пояс GMT +3, время: 12:02. |