PDA

Показать полную графическую версию : конфликтуют яваскрипты! Что делать?


Denis Shutka
02-02-2005, 05:36
на одной странице несколько яваскриптов... 1. это добавить в избранное 2. часы (находяться в слое) 3. хочу втавить бегущую строку в статусной строке...
вот яскрипты
1 скрипт:
<script language="JavaScript" src="/-/adover/upper.js"></script>
<a href="#" onClick="window.external.addFavorite
('http://www.мой сайт.ру/', 'Описание'); return false;"> добавить в избранное></a>

2скрипт:
<script language="JavaScript"><!--
// httр://dhtml.narod.ru/java_script_time.html

var clockID = 0;

function UpdateClock() {
if(clockID) {
clearTimeout(clockID);
clockID = 0;
}

var tDate = new Date();

document.theClock.theTime.value = ""
+ tDate.getHours() + ":"
+ tDate.getMinutes() + ":"
+ tDate.getSeconds();

clockID = setTimeout("UpdateClock()", 1000);
}
function StartClock() {
clockID = setTimeout("UpdateClock()", 500);
}

function KillClock() {
if(clockID) {
clearTimeout(clockID);
clockID = 0;
}
}

//-->

</script>
<body onload="StartClock()" onunload="KillClock()">
<form name="theClock">
<input type=text name="theTime" size=8>
<form>

вот код скрипта бегущей строки:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<title>Сообщение в строке состояния слева направо</title>
</head>

<body bgcolor="#FFFFFF" onload="startBanner()">
<script language="JavaScript"><!--
var speed = 100 // decrease value to increase speed (must be positive)
var pause = 1000 // increase value to increase pause
var timerID = null
var bannerRunning = false
var ar = new Array()
// Здесь вы вводите свой текст
ar[0] = "Вывод текста в статусной строке слева направо."
ar[1] = "Оживите свою страничку!"
ar[2] = "Приходите ко мне ещё!"
ar[3] = "Будет много интересного!!!"
var currentMessage = 0
var offset = 0
function stopBanner() {
if (bannerRunning)
clearTimeout(timerID)
bannerRunning = false
}
function startBanner() {
stopBanner()

showBanner()
}
function showBanner() {
var text = ar[currentMessage]
if (offset < text.length) {
if (text.charAt(offset) == " ")
offset++
var partialMessage = text.substring(0, offset + 1)
window.status = partialMessage
offset++ // IE sometimes has trouble with "++offset"
timerID = setTimeout("showBanner()", speed)
bannerRunning = true
} else {
offset = 0
currentMessage++
if (currentMessage == ar.length)
currentMessage = 0
timerID = setTimeout("showBanner()", pause)
bannerRunning = true
}
}
// -->
</script>
</body>
</html>

Так вот, я вставляю 3-тий скрипт в ниже боди и прописываю в боди фразу onload="startBanner()"> (как указано в примере скрипта). так вот при запуске страницы эта надпись в боди меняеться на onload="StartClock()"> ....вот такая вот история....если это никак не исправить то может кто знает другой скрип этогоже эффекта бегущей строки??
Спасибо

mrcnn
02-02-2005, 06:10
Объединение всех скриптов на одной странице.
Устраивает???
Работает так, как надо?

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<title>Сообщение в строке состояния слева направо</title>

</head>

<body bgcolor="#FFFFFF" onLoad="startBanner();StartClock();"
onSelect="alert('Не вздумайте что-нибудь выделять:-))');"
onUnload="KillClock();alert('Спасибо за посещение');">
<script language="JavaScript"><!--

var clockID = 0;
var speed = 100 // decrease value to increase speed (must be positive)
var pause = 1000 // increase value to increase pause
var timerID = null
var bannerRunning = false
var ar = new Array()
// Здесь вы вводите свой текст
ar[0] = "Вывод текста в статусной строке слева направо."
ar[1] = "Оживите свою страничку!"
ar[2] = "Приходите ко мне ещё!"
ar[3] = "Будет много интересного!!!"
var currentMessage = 0
var offset = 0
function stopBanner() {
if (bannerRunning)
clearTimeout(timerID)
bannerRunning = false
}
function UpdateClock() {
if(clockID) {
clearTimeout(clockID);
clockID = 0;
}

var tDate = new Date();

document.clock.time.value = ""
+ tDate.getHours() + ":"
+ tDate.getMinutes() + ":"
+ tDate.getSeconds();

clockID = setTimeout("UpdateClock();", 1000);
}
function StartClock() {
clockID = setTimeout("UpdateClock();", 500);
}

function KillClock() {
if(clockID) {
clearTimeout(clockID);
clockID = 0;
}
}

function startBanner() {
stopBanner()

showBanner()
}
function showBanner() {
var text = ar[currentMessage]
if (offset < text.length) {
if (text.charAt(offset) == " ")
offset++
var partialMessage = text.substring(0, offset + 1)
window.status = partialMessage
offset++ // IE sometimes has trouble with "++offset"
timerID = setTimeout("showBanner()", speed)
bannerRunning = true
} else {
offset = 0
currentMessage++
if (currentMessage == ar.length)
currentMessage = 0
timerID = setTimeout("showBanner()", pause)
bannerRunning = true
}
}
// -->
</script>

<script language="JavaScript" src="/-/adover/upper.js"></script>
<a href="#" onClick="window.external.addFavorite
('http://www.мой сайт.ру/', 'Описание'); return false;"> добавить в избранное</a>
<br>
<form name="clock">
<input type="text" name="time" size=6>
<form></div>
</td>
<td height="624" width="10" rowspan="5" background="images/05.gif"> </td>
<td height="194" width="12" background="images/04.gif"> </td>
<td height="194" width="151" bgcolor="#000000"><!--voting from BULLET start -->

<form action="http://www.ox.ru/cgi-bin/vote.pl" method="POST" target="_blank">
<input type="hidden" name="id" value="518717"><table bgcolor="#000000">
<tr>
<td align="center" valign="top"><font color="#FFFFFF">Нужен ли сайту чат?</font></td>
</tr>
<tr>
<td valign="top"><font color="#BFBFBF"><input type="radio" name="vote" value="1">Нужен<br>
<input type="radio" name="vote" value="2">Не нужен<br>
<input type="radio" name="vote" value="3">А что такое чат?<br>
</font></td>
</tr>
<tr>
<td align="center" valign="top" height="58"><br>
<input type="submit" value="Голосовать"><br>
<a href="http://www.ox.ru/cgi-bin/vote.pl?action=show&id=518717" target="_blank">Результаты</a></td>
</tr>
</table>
</form>
</body>
</html>



если нужен текст в статусной строке, то проще использовать
window.status="текст"

Например:


<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Сообщение в строке состояния </title></head>
<body bgcolor="#FFFFFF"">
<form>
<input type="text" size="30" value="Впишите что-нибудь" onFocus="window.status='Текст в статусной строке, когда мы ставим курсор в поле';" onMouseOver="window.status='Курсор над полем';" onBlur="window.status='Уже написали?';"onChange="alert('Текст был изменен');">
</form>
</body>
</html>


По-моему это будет гораздо проще.




© OSzone.net 2001-2012