#javascript
#javascript
Вопрос:
Нужна помощь с моим простым скриптом, который должен автоматически нажимать next через 5 секунд.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>
</title>
<script type="text/javascript">
window.onload = Next() {
setTimeout(Next() {
var next = document.getElementById("NEXT");
window.location.href = next.href;
}, 5000);
}
</script>
</head>
<body>
<div align="right">
<a id="NEXT" href="http://www.mysite.com/pictures.php?id=34">[ NEXT ]</a>
</div>
</body>
</html>
Комментарии:
1. @Thomas
click()
не работает 😉2. @nicklamort какой браузер black magic вы используете?
Ответ №1:
Ваша проблема в том, что .click()
работает только с кнопками.
Пока мы над этим работали, давайте использовать ненавязчивый javascript.
window.onload = function() {
setTimeout(function() {
var next = document.getElementById("NEXT")
window.location.href = next.href;
}, 5000);
}
Редактировать
window.onload = Next() {
setTimeout(Next() {
Не используйте слово Next()
просто используйте function()
Для создания функций вам нужно либо function ()
, либо function SomeName()
Комментарии:
1. Привет, Raynos, я добавил ваш скрипт, он все еще не работает. Не уверен, что я вставляю это неправильно.
2. @Ryan ты это завернул
<script type="text/javascript"> ... </script>
?3. я обновил свой оригинальный скрипт, чтобы вы могли его увидеть, любая помощь приветствуется.
4. @Ryan если ваша проблема решена, пожалуйста, нажмите на галочку, чтобы принять ответ 🙂
Ответ №2:
С точки зрения корректности, в вашем скрипте не указано, что это javascript (вам нужно указать, на каком это языке сценариев), а в вашем html технически не указано, что это HTML (в нем отсутствует объявление doctype):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Title of the document</title>
<script type="text/javascript">
function next() {
// '1' dynamically generated when this page was generated by PHP,
// and will be '2' next time the page loads.
location = "pictures.php?id=1";
}
document.addEventListener("DOMContentLoaded", function(){setTimeout(next,5000);}, false);
</script>
</head>
<body>
...
</body>
</html>
Это звучит как педантизм, но IE, в частности, действительно озабочен наличием этих вещей. Без объявления doctype документ, начинающийся с, не будет обрабатываться как HTML-код, но начнет принимать довольно неточные предположения.
Комментарии:
1.
document.addEventListener("DOmContentLoaded"
не поддерживается в IE