ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90   •   Посмотреть все темы

Мигалка

 

596
Сергей @Князь_Пипецкий
В поиске нашел нужную тему, но она уже закрыта.
А есть проблема, и есть вопрос.
Поставил себе мигалку на сообщения со ссылкой по времени.
В общем чате работает.
Если отправишь такое сообщение (см. 13:39:38) - то сообщение в приват вообще не проходит.
Подскажите, где я мог накосячить?
Очень прошу.

чат **********

Отредактировано Князь_Пипецкий - 21.11.2011
1555
Алексей @TheDark
Князь_Пипецкий пишет:

чат **********

404 Not Found - тут и косячить то негде...

Отредактировано TheDark - 21.11.2011
596
Сергей @Князь_Пипецкий
Ночь на дворе ...со сна неправильную ссылку дал 😀

1555
Алексей @TheDark
интересно, что же случилось с serhio[1-63]?)

596
Сергей @Князь_Пипецкий
Спасибо ребята, за отзывчивость и эффективность!
Все работает теперь.

Сделал вот так:

Скрипты чата - Функции общие:

Код:



/* Мигалка */
var showdivtimer = new Array();
function showdiv(id,cmd,repet,opacity,n) {
repet=repet||11;//сколько раз мигать +1
opacity=opacity||100;
n=n||-10;
if (opacity==100){n=-10;repet--}
if (opacity==0){n=10;}
var div = parent.left.document.getElementById(id);
if(cmd==1 && privatok==1) {div = document.getElementById(id)};
if (window.ActiveXObject) {var h=div.offsetHeight; div.style.height=h; div.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="+opacity+")";}
else {div.style.opacity = opacity/100};
opacity+=n;
showdivtimer[id] = setTimeout("showdiv('"+id+"',"+cmd+","+repet+","+opacity+","+n+")",100);
if (repet==0)clearTimeout(showdivtimer[id]);
}



Функция вывода сообщений и команд:


var timeremove = "";
if (text.search(/см\.\s(\d\d.\d\d.\d\d)/g)>=0) {timeremove = RegExp.$1} ;
if (timeremove) {var obj=parent.left.document;
if(cmd==1 && privatok==1) {obj=document.getElementById("privatdiv")};var div=obj.getElementsByTagName('div');
for (var i=0; i<div.length; i++) {if (div[i].innerHTML.search(timeremove)>=0) {timeremoveid=timeremove.replace(":", "");
text=text.replace(timeremove,"<span onclick=\"parent.showdiv('"+timeremoveid+"','"+cmd+"');\">"+timeremove+"</span>");div[i].id=timeremoveid;if (loaded==1&&mynick==tonick) showdiv(timeremoveid,cmd)}}};

1241
VL@DLEN @VLaDLEN
Князь_Пипецкий пишет:

Спасибо ребята, за отзывчивость и эффективность!
Все работает теперь.

Сделал вот так:

Скрипты чата - Функции общие:

Код:



/* Мигалка */
var showdivtimer = new Array();
function showdiv(id,cmd,repet,opacity,n) {
repet=repet||11;//сколько раз мигать +1
opacity=opacity||100;
n=n||-10;
if (opacity==100){n=-10;repet--}
if (opacity==0){n=10;}
var div = parent.left.document.getElementById(id);
if(cmd==1 && privatok==1) {div = document.getElementById(id)};
if (window.ActiveXObject) {var h=div.offsetHeight; div.style.height=h; div.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="+opacity+")";}
else {div.style.opacity = opacity/100};
opacity+=n;
showdivtimer[id] = setTimeout("showdiv('"+id+"',"+cmd+","+repet+","+opacity+","+n+")",100);
if (repet==0)clearTimeout(showdivtimer[id]);
}



Функция вывода сообщений и команд:


var timeremove = "";
if (text.search(/см\.\s(\d\d.\d\d.\d\d)/g)>=0) {timeremove = RegExp.$1} ;
if (timeremove) {var obj=parent.left.document;
if(cmd==1 && privatok==1) {obj=document.getElementById("privatdiv")};var div=obj.getElementsByTagName('div');
for (var i=0; i<div.length; i++) {if (div[i].innerHTML.search(timeremove)>=0) {timeremoveid=timeremove.replace(":", "");
text=text.replace(timeremove,"<span onclick=\"parent.showdiv('"+timeremoveid+"','"+cmd+"');\">"+timeremove+"</span>");div[i].id=timeremoveid;if (loaded==1&&mynick==tonick) showdiv(timeremoveid,cmd)}}};

Спасибо большое!

178
DiamonD @DiamonD
в безфреймовых мигалка не работает или как?

1390
Ванья @ВанькаRU
DiamonD, или как...

Чуть выше если немного задрать взгляд, то решение даже приватное найдено 😀

178
DiamonD @DiamonD
Ванька.RU пишет:

DiamonD, или как...

Чуть выше если немного задрать взгляд, то решение даже приватное найдено 😀

так не работает же)

1390
Ванья @ВанькаRU
DiamonD, у меня работает именно это решение. Значит в скриптах что-то не дописал или ошибся.

178
DiamonD @DiamonD
Ванька.RU пишет:

DiamonD, у меня работает именно это решение. Значит в скриптах что-то не дописал или ошибся.

ты был прав, чат ж переделывал на укр, и не исправил см. на див. в скрипте))

135
заблокирован @yoda23
DiamonD пишет:

Ванька.RU пишет:

DiamonD, у меня работает именно это решение. Значит в скриптах что-то не дописал или ошибся.

ты был прав, чат ж переделывал на укр, и не исправил см. на див. в скрипте))

Если не сложно дайте готовый рабочий вариант для новой версии. Я долго сидел но так и не заставил мигалку мигать(((((

2615
Сергей @Pegass
/* [Функции - общие] */
/* Мигалка */
var showdivtimer = new Array();
function showdiv(id,cmd,repet,opacity,n) {
repet=repet||11;//сколько раз мигать +1
opacity=opacity||100;
n=n||-10;
if (opacity==100){n=-10;repet--}
if (opacity==0){n=10;}
var div = document.getElementById(id);
if(cmd==1 && privatok==1) {div = document.getElementById(id)};
if (window.ActiveXObject) {var h=div.offsetHeight; div.style.height=h; div.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="+opacity+")";}
else {div.style.opacity = opacity/100};
opacity+=n;
showdivtimer[id] = setTimeout("showdiv('"+id+"',"+cmd+","+repet+","+opacity+","+n+")",100);
if (repet==0)clearTimeout(showdivtimer[id]);
}

/* [Функция - вывода сообщений и команд] */
перед
/* Добавление граф ников, градиента и формат времени */

/* Мигалка */
var timeremovez = [];
var timeremovez = text.match(/см\.\s(\d\d.\d\d.\d\d)/g);
if (timeremovez!=null) {
for (var i=0; i<timeremovez.length; i++) {
var obj=document.getElementById("leftdiv");var div=obj.getElementsByTagName('div');
for (var k=0; k<div.length; k++) {if (div[k].innerHTML.search(timeremovez[i])>=0){timeremoveid=timeremovez[i].replace(/см\.\s|\:/g, "");text=text.replace(timeremovez[i],"<span onclick=\"parent.showdiv('"+timeremoveid+"',0);\">"+timeremovez[i]+"</span>"); div[k].id=timeremoveid;if (loaded==1&&parent.mynick==tonick) showdiv(timeremoveid,0)}};
}}

1163
Денис @Анатолич
А можно ли мигалку заменить чем то менее мельтешащим?
некоторые посетители не понимают почему строчки мигают, думают это глюк чата.
Хотелось бы что то более спокойное.
Например на 20 секунд выделить пост толстой, зеленой рамочкой.
можно это как то сделать?

1007
BETEPAH @BETEPAH
/* [Функции - общие] */
/* Мигалка */
var showdivtimer = [];
function showdiv(id) {
document.getElementById(id).style.border = '3px solid green';
showdivtimer[id] = setTimeout("document.getElementById('" + id + "').style.border = '0';", 20000);
}

P.S. а вообще, мне кажется, давно пора переделать wr(), чтоб каждому сообщению изначально задавалось id. Это упростило бы работу некоторых скриптов: подсветка, удаление, перемещение к предыдущему написанному мне и пр. Надо будет найти на это время

Отредактировано BETEPAH - 10.06.2013
215
Rafer @Rafer
BETEPAH, хорошая идея, путаници меньше)

32
Robert @RobertManniste
Что то я не пойму я пробовал все варианты которые тут есть и у меня один фиг не работает это мигалка о_О вроде ставил в те места в которые надо,в чем может быть проблема ?

2615
Сергей @Pegass
beckham пишет:

Что то я не пойму я пробовал все варианты которые тут есть и у меня один фиг не работает это мигалка о_О вроде ставил в те места в которые надо,в чем может быть проблема ?

может в аватаре?
или в стране?

ЗЫ ставите скрипт? он не пашет? тогда поставьте скрипт и дайте ссылку на чат

Отредактировано Pegass - 26.09.2013
1163
Денис @Анатолич
BETEPAH пишет:

/* [Функции - общие] */
/* Мигалка */
var showdivtimer = [];
function showdiv(id) {
document.getElementById(id).style.border = '3px solid green';
showdivtimer[id] = setTimeout("document.getElementById('" + id + "').style.border = '0';", 20000);
}


а не подскажите как сделать рамку закругленной?
я сам какую то хрень понаписал в разных вариантах.
Показать текст

но вообще работать перестала мигалка

1007
BETEPAH @BETEPAH
Анатолич пишет:

BETEPAH пишет:

/* [Функции - общие] */
/* Мигалка */
var showdivtimer = [];
function showdiv(id) {
document.getElementById(id).style.border = '3px solid green';
showdivtimer[id] = setTimeout("document.getElementById('" + id + "').style.border = '0';", 20000);
}


а не подскажите как сделать рамку закругленной?
я сам какую то хрень понаписал в разных вариантах.
Показать текст

но вообще работать перестала мигалка

И не мудрено 😀
Во-первых, в объектной модели радиус задается вот так .style.borderRadius. Запомните, css-свойства в javascripte никогда не имеют дефисов, так как воспринимается как знак вычитания.
Во-вторых, второй сеттаймаут не нужен. Можно убирать скругление в первом.
Что-то типа такого:
/* Мигалка */
var showdivtimer = [];
function showdiv(id) {
document.getElementById(id).style.borderRadius = '10px';
document.getElementById(id).style.border = '2px inset RoyalBlue';
showdivtimer[id] = setTimeout("var el = document.getElementById('" + id + "'); el.style.border = '0'; el.style.borderRadius = '0';", 60000);
}

Отредактировано BETEPAH - 28.09.2013