Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с ссылками, а точнее определить и установить цвет 
:(
    Опции темы
Dr.Death
Дата 1.6.2004, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 950
Регистрация: 15.7.2003
Где: Волгоград

Репутация: нет
Всего: 1



В общем есть у меня файл test.htm:
Цитата

<Html>
<Head>
<script language="JavaScript">
function over()
{
var e = event.srcElement;
var classname = e.className;
var eid = e.uniqueID;
}
</script>
</head>
<body>
<a onMouseOver="javascript:over()" href="http://shev.esdesign.ru">test</a>
</body>
</html>

Вот исходя из данного кода, как получить и установить цвет данной ссылки и в каких браузерах это будет работать?


--------------------
Жизнь коротка, чтобы быть в ней слабым.© Арнольд Шварцнеггер
PM MAIL WWW ICQ   Вверх
GoodBoy
Дата 1.6.2004, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



А зачем так сложно?? И что мешает использовать CSS???


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Sardar
Дата 1.6.2004, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Полезно будет это почитать: http://wdh.suncloud.ru/css02.htm#ref2293 - ИМXО самый правильный вариант. И вообще задуматся над этим выражением:
Код
<a onMouseOver="javascript: with(this.style) {backgroundColor='#8dbcf5'; color='red'; /*продолжаем также...*/}" href="http://shev.esdesign.ru">test</a>

Не забудь про onMouseOut.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Dr.Death
Дата 1.6.2004, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 950
Регистрация: 15.7.2003
Где: Волгоград

Репутация: нет
Всего: 1



GoodBoy
Это не просто изменение цвета, оно плавное должно быть.


--------------------
Жизнь коротка, чтобы быть в ней слабым.© Арнольд Шварцнеггер
PM MAIL WWW ICQ   Вверх
GoodBoy
Дата 1.6.2004, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Можно применить фильтры, но боюсь, что скорее всего это будет работать только в IE...


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Sardar
Дата 1.6.2004, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Как обычно ставим функцию на интервал(window.setInterval()) и изменяем свойства обьекта. Сейчас ну просто времени нет на пример, найди уже готовый скрипт и разберись нем. Попробую к вечеру что-нибудь написать.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Dr.Death
Дата 1.6.2004, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 950
Регистрация: 15.7.2003
Где: Волгоград

Репутация: нет
Всего: 1



Sardar
Спасибо, у меня есть, просто хочу написать сам.


--------------------
Жизнь коротка, чтобы быть в ней слабым.© Арнольд Шварцнеггер
PM MAIL WWW ICQ   Вверх
Sardar
Дата 3.6.2004, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Вот обещанный код на скорую руку. Писал больше как пример, лучше перепиши сам.
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<script language="Javascript" type="text/javascript">
<!--
var REMOVE_ME=0; //значение "удали меня"
var minCPU_Resolution=50; //время в милисекундах между вызовами функции
/*
Используем хештаблицы(быстрее) для поиска уже существующих обьектов
в очереди. Для этого пришлось добавить в тег ID. Если это напрягает
то делай простой массив с перебором(медленно)
*/
function fade_me(obj_id,from_c,to_c,steps) {
var obj=document.getElementById(obj_id);
if(!obj) return;
if(typeof(IntervalHandler.targets["~"+obj_id])=='object') //существует
 IntervalHandler.targets["~"+obj_id].init_color(from_c, to_c, steps);
else { //нет, создадим новый
 IntervalHandler.targets["~"+obj_id]=new ColorFader(obj, from_c, to_c, steps);
 IntervalHandler.len++;
}
//таймер не запущен? сапустим
if(IntervalHandler.timer==null) IntervalHandler.timer=window.setInterval(IntervalHandler, minCPU_Resolution);
}
//обьект меняющий цвет тега
function ColorFader(target, fc, tc, st)/*extends ActiveQueueItem*/ {
this.target=target;

this.init_color=function(from, to, steps) {
 var rgb=from==null? [this.r, this.g, this.b]: getRGB(from);
 var rgb2=getRGB(to);
 this.steps=Math.abs(steps==null? this.bsteps-this.steps: steps); //Math.abs
 this.bsteps=steps;
 this.steps=this.steps==0? 1: this.steps;
 this.ra=(rgb2[0]-rgb[0])/this.steps;
 this.r=rgb[0];
 this.ga=(rgb2[1]-rgb[1])/this.steps;
 this.g=rgb[1];
 this.ba=(rgb2[2]-rgb[2])/this.steps;
 this.b=rgb[2];
 this.endcolor=to; //control shot
};
this.init_color(fc,tc,st);
this.do_it=function() {
 if(--this.steps>=0) {
  this.target.style.color="#"+to_hex(this.r+=this.ra)+to_hex(this.g+=this.ga)+to_hex(this.b+=this.ba);
  this.target.innerHTML="Test: "+this.steps;
  return 1;
 }  else {this.target.style.color=this.endcolor; return REMOVE_ME; }
};// END OF function
}
/*
Далее реализация очереди. В нее можно положит любой обьект содержащий
функцию do_it() и возвращающую REMOVE_ME если он закончил. Пример такого
обьекта: ColorFader.
*/
IntervalHandler.targets={};
IntervalHandler.len=0;
function IntervalHandler() {
//если народа в очереди нет, то гасим таймер
if(IntervalHandler.len<1) {window.clearInterval(IntervalHandler.timer); IntervalHandler.timer=null;}
for(var i in IntervalHandler.targets)
 if(IntervalHandler.targets[i].do_it()==REMOVE_ME) {
   delete IntervalHandler.targets[i];
   IntervalHandler.len--;
 }
}
//******* рабочие функции *******
function getRGB(str) {
return [parseInt(str.substr(0,2),16), parseInt(str.substr(2,2),16), parseInt(str.substr(4,2),16)];
}

to_hex.hexChars = "0123456789ABCDEF";
function to_hex(get) {
 var a=get%16;
 return to_hex.hexChars.charAt((get-a)/16) + to_hex.hexChars.charAt(a);
}
//-->
</script></head><body>
<span id="spn1" onMouseOver="fade_me('spn1', '6505a5', 'cefd29', 40)" onMouseOut="fade_me('spn1', null, '6505a5', null)">Test</span><br>
<span id="spn2" onMouseOver="fade_me('spn2', '6505a5', 'cefd29', 20)" onMouseOut="fade_me('spn2', null, '6505a5', null)">Test</span><br>
<span id="spn3" onMouseOver="fade_me('spn3', '6505a5', 'cefd29', 10)" onMouseOut="fade_me('spn3', null, '6505a5', null)">Test</span><br>
<span id="spn4" onMouseOver="fade_me('spn4', '6505a5', 'cefd29', 5)" onMouseOut="fade_me('spn4', null, '6505a5', null)">Test</span><br>
<span id="spn5" onMouseOver="fade_me('spn5', '6505a5', 'cefd29', 1)" onMouseOut="fade_me('spn5', null, '6505a5', null)">Test</span><br>
</body>
</html>

Код работает правильно везде кроме Моззилы. Последняя почему то глючит с onMouseOut - событие не вызывается. У меня нет времени на обход ее очередного глюка...


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
GoodBoy
Дата 3.6.2004, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



А у меня в Мозилле все нормально сработало!!!! Вот такая стоит: Mozilla 1.2 [Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2) Gecko/20021123]


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0597 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.