Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 48
1

Изменить работу скрипта с ссылок на блок

17.09.2014, 23:44. Показов 1154. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую.
В общем нашел скрипт, благодаря которому при наведении на ссылку, она начинает переливаться разными цветами. Помогите пожалуйста, переделать скрипт, что б работал не на ссылках а например на определенных блоках
или например на class="test"
тоесть вот <span class="test">Текст мирцает</span>
И что б текст мерцал не только при наведении, а постоянно.
Вот код
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<SCRIPT LANGUAGE="JavaScript">
<!-- ;
// Setting
//- SPEED CAN BE CHANGED HERE -
 
var rate = 25; // Increase-Decrease amount ( Higher=Faster )
 
// - DO NOT ALTER BELOW -
// Main routine
 
if (document.getElementById)
window.onerror=new Function("return true")
 
var objActive;
var act = 0;
var elmH = 0;
var elmS = 128;
var elmV = 255;
var clrOrg;
var TimerID;
 
if (document.all) {
document.onmouseover = doRainbowAnchor;
document.onmouseout = stopRainbowAnchor;
}
else if (document.getElementById) {
document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
document.onmouseover = Mozilla_doRainbowAnchor;
document.onmouseout = Mozilla_stopRainbowAnchor;
}
function doRainbow(obj)
{
if (act == 0) {
act = 1;
if (obj)
objActive = obj;
else
objActive = event.srcElement;
clrOrg = objActive.style.color;
TimerID = setInterval("ChangeColor()",100);
}
}
function stopRainbow()
{
if (act) {
objActive.style.color = clrOrg;
clearInterval(TimerID);
act = 0;
}
}
function doRainbowAnchor()
{
if (act == 0) {
var obj = event.srcElement;
while (obj.tagName != 'A' && obj.tagName != 'BODY') {
obj = obj.parentElement;
if (obj.tagName == 'A' || obj.tagName == 'BODY')
break;
}
 
if (obj.tagName == 'A' && obj.href != '') {
objActive = obj;
act = 1;
clrOrg = objActive.style.color;
TimerID = setInterval("ChangeColor()",100);
}
}
}
function stopRainbowAnchor()
{
if (act) {
if (objActive.tagName == 'A') {
objActive.style.color = clrOrg;
clearInterval(TimerID);
act = 0;
}
}
}
function Mozilla_doRainbowAnchor(e)
{
if (act == 0) {
obj = e.target;
while (obj.nodeName != 'A' && obj.nodeName != 'BODY') {
obj = obj.parentNode;
if (obj.nodeName == 'A' || obj.nodeName == 'BODY')
break;
}
 
if (obj.nodeName == 'A' && obj.href != '') {
objActive = obj;
act = 1;
clrOrg = obj.style.color;
TimerID = setInterval("ChangeColor()",100);
}
}
}
function Mozilla_stopRainbowAnchor(e)
{
if (act) {
if (objActive.nodeName == 'A') {
objActive.style.color = clrOrg;
clearInterval(TimerID);
act = 0;
}
}
}
function ChangeColor()
{
objActive.style.color = makeColor();
}
function makeColor()
{
 
// HSVtoRGB
if (elmS == 0) {
elmR = elmV; elmG = elmV; elmB = elmV;
}
else {
t1 = elmV;
t2 = (255 - elmS) * elmV / 255;
t3 = elmH % 60;
t3 = (t1 - t2) * t3 / 60;
 
if (elmH < 60) {
elmR = t1; elmB = t2; elmG = t2 + t3;
}
else if (elmH < 120) {
elmG = t1; elmB = t2; elmR = t1 - t3;
}
else if (elmH < 180) {
elmG = t1; elmR = t2; elmB = t2 + t3;
}
else if (elmH < 240) {
elmB = t1; elmR = t2; elmG = t1 - t3;
}
else if (elmH < 300) {
elmB = t1; elmG = t2; elmR = t2 + t3;
}
else if (elmH < 360) {
elmR = t1; elmG = t2; elmB = t1 - t3;
}
else {
elmR = 0; elmG = 0; elmB = 0;
}
}
 
elmR = Math.floor(elmR).toString(16);
elmG = Math.floor(elmG).toString(16);
elmB = Math.floor(elmB).toString(16);
if (elmR.length == 1) elmR = "0" + elmR;
if (elmG.length == 1) elmG = "0" + elmG;
if (elmB.length == 1) elmB = "0" + elmB;
 
elmH = elmH + rate;
if (elmH >= 360)
elmH = 0;
 
return '#' + elmR + elmG + elmB;
}
// end hide -->
</SCRIPT>
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2014, 23:44
Ответы с готовыми решениями:

Как можно связать работу скрипта из балуна с работой скрипта на странице?
Первый раз задаю вопрос, извините если не в тот раздел. В общем, делаю метку через Яндекс карты...

Как из одного скрипта изменить переменную (int) другого скрипта?
У меня есть два скрипта (money который отвечает за общее количество денег и CarBuy который отвечает...

Блок ссылок VS Блок контекстных обьявлений
Что дает больший доход блок ссылок или блок контекстных объявлений?

Отследить работу скрипта
Доброго времени суток уважаемые форумчане. Признаюсь сразу, о скриптах знаю поверхностно. Попытаюсь...

4
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
18.09.2014, 07:54 2
принципиально важно - сколько одновременно "ме(и)рцающих" тегов (блоков) на странице вы желаете иметь?
один такой тег или же несколько (или больше одного)?
0
0 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 48
18.09.2014, 09:49  [ТС] 3
неограниченное количество.

Добавлено через 2 минуты
kalabuni, неограниченное количество "тегов (блоков)"
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
19.09.2014, 12:20 4
Лучший ответ Сообщение было отмечено Valen_x как решение

Решение

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script>
onload = function ()
{
function RND (n, x) {return Math.round (n + Math.random () * x)}
function HEX () {for (var t = [], k = 0; k < 6; k++) t [k] = RND (0, 16).toString (16); return ('#' + t.join (''))}
function CHC (q) {q.style.color = HEX (); setTimeout (CHC, RND (50, 150), q)}
for (var s = document.body.querySelectorAll ('.test'), j = 0, J = s.length; j < J; j++) CHC (s [j]);
}
</script>
 
        
<a    class="test" href="#">aaa</a>
<p    class="test">         PPP</p>
<span class="test">         sss</span>
<div  class="test">         DDD</div>
<b    class="test">         bbb</b>
1
0 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 48
19.09.2014, 13:24  [ТС] 5
kalabuni, Большое спасибо Вам! То что нужно!
0
19.09.2014, 13:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2014, 13:24
Помогаю со студенческими работами здесь

Скрыть работу скрипта
Всем привет, помогите скрыть работу скрипта, а то при добавлении листа прыгает и стандартными...

Объяснить работу скрипта
Есть скрипт: &lt;?php ## Использование popen(). // Запускаем процесс (параллельно работе сценария) в...

ускорить работу скрипта
Друзья - php скрипт выполняется более 400 секунд! Подскажите что можно подправить - что бы...

Объсните работу скрипта
&lt;?php ## Использование PREG_OFFSET_CAPTURE. $st = '&lt;b&gt;жирный текст&lt;/b&gt;'; $re =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru