Мой босс попросил страницу, которая не изменится, чтобы иметь две загруженные всплывающие всплывающие окна. Я нашел код и отредактировал его так, как я думал, что он должен делать, но он загружает только последнее событие onLoad. Я дизайнер, и я помогал в создании веб-страниц, но Javascript пока что выходит за рамки того, что я могу понять. Я уже узнал, как использовать одиночное всплывающее окно и потратил время на изучение тайм-аутов, но я не могу заставить его работать с несколькими всплывающими функциями. Если у вас есть момент, вы бы посмотрели? Спасибо :)Javascript Pop Ups
ч
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>H's Page 1</title>
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore, Editor -->
<!-- Web Site: The JavaScript Source -->
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Begin
closetime = 3; // Close window after __ number of seconds?
// 0 = do not close, anything else = number of seconds
function Start1(URL, WIDTH, HEIGHT) {
windowprops = "left=50,top=50,width=" + WIDTH + ",height=" + HEIGHT;
preview = window.open(URL, "preview", windowprops);
if (closetime) setTimeout("preview.close();", closetime*1000);
}
function doPopup1() {
url = "http://www.google.com";
width = 1680; // width of window in pixels
height = 1050; // height of window in pixels
delay = 10; // time in seconds before popup opens
timer = setTimeout("Start1(url, width, height)", delay*1000);
}
closetime = 3; // Close window after __ number of seconds?
function Start2(URL, WIDTH, HEIGHT) {
windowprops = "left=50,top=50,width=" + WIDTH + ",height=" + HEIGHT;
preview = window.open(URL, "preview", windowprops);
if (closetime) setTimeout("preview.close();", closetime*1000);
}
function doPopup2() {
url = "http://www.yahoo.com";
width = 1680; // width of window in pixels
height = 1050; // height of window in pixels
delay = 5; // time in seconds before popup opens
timer = setTimeout("Start2(url, width, height)", delay*1000);
}
// End -->
</script>
<!-- STEP TWO: Insert the onLoad event handler into your BODY tag -->
<!-- Script Size: 1.27 KB -->
</head>
<body OnLoad="doPopup1(); doPopup2();">
<p>My page text.</p>
<p>My page text.</p>
<p>My page text.</p>
<p>My page text.</p>
</body>
</html>
Вы смешиваете процедурные и функциональные стили. Например, ваша переменная 'closetime' находится в глобальной области видимости и должна существовать только один раз. Определяя его перед определением функции, переопределяя его до того, как другая функция не сделает то, что вы думаете. BTW также вы должны ввести локальные переменные с ключевым словом 'var'. Я ненавижу говорить об этом, но мне придется предложить получить Javascript книгу. В ответе StackOverflow слишком много средств для покрытия; чтобы написать Javascript, вы должны знать Javascript! –
Спасибо Томалак. Я выберу второе ближайшее время. Мне бы хотелось узнать больше, но это не то, что я успею потратить на изучение самого кода, надеюсь, у меня будет больше времени на следующий проект. – user566312
Интересно, можете ли вы договориться, чтобы получить больше за нерабочую работу! – erjiang