С нами с 20.05.05
Сообщения: 212
Рейтинг: 58
|
Добавлено: 03/09/09 в 06:53 |
Никто не использует подобный скрипт у себя на сайтах? Надо менять по очереди сообщения со ссылками. Нашел яваскрипт, который с интервалом меняет сообщения из списка, но у него есть недостаток, он не загружается сразу, сначала ждет заведенный в него интервал (у меня 8 секунд), а потом выводит первое сообщение.
|
|
|
|
С нами с 20.05.05
Сообщения: 212
Рейтинг: 58
|
Добавлено: 03/09/09 в 08:25 |
Вот сам код скрипта, хз что тут дописывать...
<script type="text/javascript">
var tickercontents = new Array()
tickercontents[0] = 'Hello'
tickercontents[1] = 'Hello1'
tickercontents[2] = 'Hello2'
tickercontents[3] = 'Hello3'
tickercontents[4] = 'Hello4'
var persistlastviewedmsg = 1
var persistmsgbehavior = "onload" // set to "onload" or "onclick".
var tickdelay = 8000
var divonclick = (persistlastviewedmsg && persistmsgbehavior == "onclick") ? 'onсlick="savelastmsg()" ' : ''
var currentmessage = 0
function changetickercontent()
{
if (crosstick.filters && crosstick.filters.length > 0) crosstick.filters[0].Apply()
crosstick.innerHTML = tickercontents[currentmessage]
if (crosstick.filters && crosstick.filters.length > 0) crosstick.filters[0].Play()
currentmessage = (currentmessage == tickercontents.length - 1) ? currentmessage=0 : currentmessage + 1
var filterduration = (crosstick.filters&&crosstick.filters.length > 0) ? crosstick.filters[0].duration * 1000 : 0
setTimeout("changetickercontent()", tickdelay + filterduration)
}
function beginticker()
{
if (persistlastviewedmsg && get_cookie("lastmsgnum") != "") revivelastmsg()
crosstick = document.getElementById ? document.getElementById("memoryticker") : document.all.memoryticker
changetickercontent()
}
function get_cookie(Name)
{
var search = Name + "="
var returnvalue = ""
if (document.cookie.length > 0)
{
offset = document.cookie.indexOf(search)
if (offset != -1)
{
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1) end = document.cookie.length;
returnvalue = unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
function savelastmsg()
{
document.cookie = "lastmsgnum=" + currentmessage
}
function revivelastmsg()
{
currentmessage = parseInt(get_cookie("lastmsgnum"))
currentmessage = (currentmessage == 0) ? tickercontents.length - 1 : currentmessage - 1
}
if (persistlastviewedmsg && persistmsgbehavior == "onload") window.onunload=savelastmsg
if (document.all||document.getElementById) document.write('<div id="memoryticker" ' + divonclick + '></div>')
if (window.addEventListener) window.addEventListener("load", beginticker, false)
else if (window.attachEvent) window.attachEvent("onload", beginticker)
else if (document.all || document.getElementById) window.onload = beginticker
</script>
|
|
|
|
С нами с 20.05.05
Сообщения: 212
Рейтинг: 58
|
Добавлено: 03/09/09 в 09:10 |
У меня появляется пустое место, сначала загружаются все элементы страницы, и только после этого включается скрипт. Хотя он расположен в верхней части страницы, все равно ждет пока загрузится даже то что внизу.
|
|
|
|
С нами с 20.05.05
Сообщения: 212
Рейтинг: 58
|
Добавлено: 03/09/09 в 11:09 |
Чудотворец! Дякую
|
|
|
|
С нами с 20.05.05
Сообщения: 212
Рейтинг: 58
|
Добавлено: 03/09/09 в 12:09 |
А можно этот скрип усовершенствовать, чтобы не по порядку выводило сообщения, а рандомом?
|
|
|
|
С нами с 20.05.05
Сообщения: 212
Рейтинг: 58
|
Добавлено: 04/09/09 в 08:28 |
Что-то я немного запутался. Вот эта строка у тебя var tickdelay = 1000 имеет слишком маленький промежуток, стало быстро перещелкивать, я поменял на 8000. Но вот с этой строкой не пойму, в чем ее смысл var lastshowed = 99999? Слишком уж большое значение стоит 99999. Это вроде, не показывать ссылку, которая была показана в течение этого промежутка? Тогда надо ставить 8000 или 9000, это отсечет повторение прошлого сообщения. Но зачем 99999?
|
|
|
|
С нами с 20.05.05
Сообщения: 212
Рейтинг: 58
|
Добавлено: 04/09/09 в 14:54 |
Опробовал, работает рандом. Спасибо за помощ.
|
|
|
|
С нами с 20.05.05
Сообщения: 212
Рейтинг: 58
|
Добавлено: 05/09/09 в 15:08 |
Заметил, на месте выводимого текста стало появляться слово undefined, и больше ничего. Глюк. К чему бы это? После перезагрузки броузера пропадает. Может это из-за кукисов? diff не подправишь первоначатьный вариант, убрав куки из него?
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |