Реклама на сайте Advertise with us

Скрипт ротатор сообщений

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 20.05.05
Сообщения: 212
Рейтинг: 58

Ссылка на сообщениеДобавлено: 03/09/09 в 06:53       Ответить с цитатойцитата 

Никто не использует подобный скрипт у себя на сайтах? Надо менять по очереди сообщения со ссылками. Нашел яваскрипт, который с интервалом меняет сообщения из списка, но у него есть недостаток, он не загружается сразу, сначала ждет заведенный в него интервал (у меня 8 секунд), а потом выводит первое сообщение.

0
 



С нами с 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>

0
 



С нами с 20.05.05
Сообщения: 212
Рейтинг: 58

Ссылка на сообщениеДобавлено: 03/09/09 в 09:10       Ответить с цитатойцитата 

У меня появляется пустое место, сначала загружаются все элементы страницы, и только после этого включается скрипт. Хотя он расположен в верхней части страницы, все равно ждет пока загрузится даже то что внизу.

0
 



С нами с 20.05.05
Сообщения: 212
Рейтинг: 58

Ссылка на сообщениеДобавлено: 03/09/09 в 11:09       Ответить с цитатойцитата 

Чудотворец! Дякую smail54.gif

0
 



С нами с 20.05.05
Сообщения: 212
Рейтинг: 58

Ссылка на сообщениеДобавлено: 03/09/09 в 12:09       Ответить с цитатойцитата 

А можно этот скрип усовершенствовать, чтобы не по порядку выводило сообщения, а рандомом?

0
 



С нами с 20.05.05
Сообщения: 212
Рейтинг: 58

Ссылка на сообщениеДобавлено: 04/09/09 в 08:28       Ответить с цитатойцитата 

Что-то я немного запутался. Вот эта строка у тебя var tickdelay = 1000 имеет слишком маленький промежуток, стало быстро перещелкивать, я поменял на 8000. Но вот с этой строкой не пойму, в чем ее смысл var lastshowed = 99999? Слишком уж большое значение стоит 99999. Это вроде, не показывать ссылку, которая была показана в течение этого промежутка? Тогда надо ставить 8000 или 9000, это отсечет повторение прошлого сообщения. Но зачем 99999?

0
 



С нами с 20.05.05
Сообщения: 212
Рейтинг: 58

Ссылка на сообщениеДобавлено: 04/09/09 в 14:54       Ответить с цитатойцитата 

Опробовал, работает рандом. Спасибо за помощ.

0
 



С нами с 20.05.05
Сообщения: 212
Рейтинг: 58

Ссылка на сообщениеДобавлено: 05/09/09 в 15:08       Ответить с цитатойцитата 

Заметил, на месте выводимого текста стало появляться слово undefined, и больше ничего. Глюк. К чему бы это? После перезагрузки броузера пропадает. Может это из-за кукисов? diff не подправишь первоначатьный вариант, убрав куки из него?

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »