Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: при наведении курсора на изображение изменить его!
 
 автор: Job   (30.05.2007 в 15:16)   письмо автору
 
 

Имею две картинки, светящуюся и нет. 5 картинок лежит в ряд все не светятся, нужно чтобы при наведении на первую светилась первая, при наведении на вторю, светилась первая и вторая и так далее...
голосование делаю :)

Заранее огромное спасибо!!!

   
 
 автор: Temnovit   (30.05.2007 в 15:18)   письмо автору
 
   для: Job   (30.05.2007 в 15:16)
 


<img src="prostaja.jpg" onMouseOver="this.src='svetashajasa.jpg'" onMouseOut="this.src='prostaja.jpg'">

   
 
 автор: Job   (30.05.2007 в 15:39)   письмо автору
 
   для: Temnovit   (30.05.2007 в 15:18)
 

нет, ну с этим то всё понятно...

Мне нужно чтоб светилось по очереди.
я сделал вот так:


<img src="gol_off.gif" name="img1" width="9" height="9" border="0" onMouseOver="img1_on()" onmouseout="img1_off()">
<img src="gol_off.gif" name="img2" width="9" height="9" border="0" onMouseOver="img2_on()" onmouseout="img2_off()">
<img src="gol_off.gif" name="img3" width="9" height="9" border="0" onMouseOver="img3_on()" onmouseout="img3_off()">
<img src="gol_off.gif" name="img4" width="9" height="9" border="0" onMouseOver="img4_on()" onmouseout="img4_off()">
<img src="gol_off.gif" name="img5" width="9" height="9" border="0" onMouseOver="img5_on()" onmouseout="img5_off()">

<script>  
var off = 'gol_off.gif';  
var on = 'gol_on.gif'; 
function img1_on() 

  document.img1.src = on; 


function img1_off() 

  document.img1.src = off; 


function img2_on() 

  document.img1.src = on; 
  document.img2.src = on; 


function img2_off() 

  document.img1.src = off; 
  document.img2.src = off; 


function img3_on() 

  document.img1.src = on; 
  document.img2.src = on; 
  document.img3.src = on; 


function img3_off() 

  document.img1.src = off; 
  document.img2.src = off; 
  document.img3.src = off; 


function img4_on() 

  document.img1.src = on; 
  document.img2.src = on; 
  document.img3.src = on; 
  document.img4.src = on;


function img4_off() 

  document.img1.src = off; 
  document.img2.src = off; 
  document.img3.src = off; 
  document.img4.src = off; 
}  

function img5_on() 

  document.img1.src = on; 
  document.img2.src = on; 
  document.img3.src = on; 
  document.img4.src = on;
  document.img5.src = on;


function img5_off() 

  document.img1.src = off; 
  document.img2.src = off; 
  document.img3.src = off; 
  document.img4.src = off; 
  document.img5.src = off; 

</script> 


но это так много места занимает, как уменьшить код?

   
 
 автор: elenaki   (30.05.2007 в 16:59)   письмо автору
 
   для: Job   (30.05.2007 в 15:39)
 

смешно. :)

напишите одну функцию, передавайте ей в качестве аргумента номер картинки, а те, которые перед ней, можно вычислить в цикле.

   
 
 автор: Job   (30.05.2007 в 17:19)   письмо автору
 
   для: elenaki   (30.05.2007 в 16:59)
 

Непонимаю как, точнее незнаю...
Это мой первый опыт в JAVA
Можно пример? :) плиззз

   
 
 автор: Mirage   (30.05.2007 в 18:04)   письмо автору
 
   для: Job   (30.05.2007 в 15:39)
 


<img src="gol_off.gif" name="img1" width="9" height="9" border="0" onMouseOver="img1_on(1)" onmouseout="img_off(1)">
<img src="gol_off.gif" name="img2" width="9" height="9" border="0" onMouseOver="img1_on(2)" onmouseout="img_off(2)">
<img src="gol_off.gif" name="img3" width="9" height="9" border="0" onMouseOver="img_on(3)" onmouseout="img_off(3)">
<img src="gol_off.gif" name="img4" width="9" height="9" border="0" onMouseOver="img_on(4)" onmouseout="img_off(4)">
<img src="gol_off.gif" name="img5" width="9" height="9" border="0" onMouseOver="img_on(5)" onmouseout="img_off(5)"> 
<script>  
var off = 'gol_off.gif';  
var on = 'gol_on.gif';
function img_on(num)
{
  for (i=1; i>=num; i++)
  {
    document. ['img'+i].src=on
  }
}
function img_off(num)
{
  for (i=1; i>=num; i++)
  {
    document. ['img'+i].src=off
  }
}
</script>

   
 
 автор: bronenos   (30.05.2007 в 18:12)   письмо автору
 
   для: Mirage   (30.05.2007 в 18:04)
 

или так )

<img src="gol_off.gif" name="img1" width="9" height="9" border="0" onMouseOver="img_ch(1,1)" onmouseout="img_ch(1,0)"> 
<img src="gol_off.gif" name="img2" width="9" height="9" border="0" onMouseOver="img_ch(2,1)" onmouseout="img_ch(2,0)"> 
<img src="gol_off.gif" name="img3" width="9" height="9" border="0" onMouseOver="img_ch(3,1)" onmouseout="img_ch(3,0)"> 
<img src="gol_off.gif" name="img4" width="9" height="9" border="0" onMouseOver="img_ch(4,1)" onmouseout="img_ch(4,0)"> 
<img src="gol_off.gif" name="img5" width="9" height="9" border="0" onMouseOver="img_ch(5,1)" onmouseout="img_ch(5,0)">  

<script>   
function img_ch (num, type) 

  for (i=1; i>=num; i++) 
    document.['img'+i].src = (type==1) ? 'gol_on.gif' : 'gol_off.gif';

</script>

   
 
 автор: Job   (30.05.2007 в 18:56)   письмо автору
 
   для: bronenos   (30.05.2007 в 18:12)
 

нитот ни другой вариант неработает :(
Вроде всё ок, тока в первом 2 ошибки, но я нашел и исправил...
Но всё равно ничего :(

   
 
 автор: AlexSol   (30.05.2007 в 19:20)   письмо автору
 
   для: Job   (30.05.2007 в 18:56)
 


<img src="gol_off.gif" id="img1" width="9" height="9" border="0" onMouseOver="img_on(1)" onmouseout="img_off()"> 
<img src="gol_off.gif" id="img2" width="9" height="9" border="0" onMouseOver="img_on(2)" onmouseout="img_off()"> 
<img src="gol_off.gif" id="img3" width="9" height="9" border="0" onMouseOver="img_on(3)" onmouseout="img_off()"> 
<img src="gol_off.gif" id="img4" width="9" height="9" border="0" onMouseOver="img_on(4)" onmouseout="img_off()"> 
<img src="gol_off.gif" id="img5" width="9" height="9" border="0" onMouseOver="img_on(5)" onmouseout="img_off()"> 
<script>
var active='';
var total=5;
function img_on(par){
    document.getElementById('img'+par).src='Shoose3_3_1.jpg';
    active = par;
}
function img_off(){
    document.getElementById('img'+active).src='gol_off.gif';
}
</script>

   
 
 автор: Mirage   (30.05.2007 в 19:36)   письмо автору
 
   для: Job   (30.05.2007 в 18:56)
 

вот точно работает (проверял) просто условие цикла не корректно потавлены были >= вместо <=

<img src="images/cz.gif" name="img1"  border="0" onMouseOver="img_ch(1,1)" onmouseout="img_ch(1,0)">
<img src="images/cz.gif" name="img2"  border="0" onMouseOver="img_ch(2,1)" onmouseout="img_ch(2,0)">
<img src="images/cz.gif" name="img3"  border="0" onMouseOver="img_ch(3,1)" onmouseout="img_ch(3,0)">
<img src="images/cz.gif" name="img4"  border="0" onMouseOver="img_ch(4,1)" onmouseout="img_ch(4,0)">
<img src="images/cz.gif" name="img5"  border="0" onMouseOver="img_ch(5,1)" onmouseout="img_ch(5,0)">

<script>
function img_ch (numm, type)
{
  for (i=1; i<=numm; i++)
    document.all['img'+i].src =(type==1) ? 'images/ru.gif' : 'images/cz.gif';
}
</script>

   
 
 автор: AlexSol   (30.05.2007 в 19:43)   письмо автору
 
   для: Mirage   (30.05.2007 в 19:36)
 

цикл не нужен.

   
 
 автор: Mirage   (30.05.2007 в 19:46)   письмо автору
 
   для: AlexSol   (30.05.2007 в 19:43)
 

как же не нужен вы прочитаейте условие вопроса

   
 
 автор: AlexSol   (30.05.2007 в 20:03)   письмо автору
 
   для: Mirage   (30.05.2007 в 19:46)
 

прочитал. одновременно может быть выделена только одна картинка, для которой и будет срабатывать onMouseOver. так что смысла просматривать все нет.

   
 
 автор: Grin   (31.05.2007 в 00:57)   письмо автору
 
   для: AlexSol   (30.05.2007 в 20:03)
 

http://www.artlebedev.ru/tools/technogrette/html/hover_vs_javascript/
попробуйте здесь почитать =) можно ведь и без javascript

   
 
 автор: Mirage   (31.05.2007 в 08:45)   письмо автору
 
   для: AlexSol   (30.05.2007 в 20:03)
 

нужно чтобы при наведении на первую светилась первая, при наведении на вторю, светилась первая и вторая и так далее...

а вообщето путь Job cсам посмотрит и скажет что ему нужно :)

   
 
 автор: AlexSol   (31.05.2007 в 09:43)   письмо автору
 
   для: Mirage   (31.05.2007 в 08:45)
 

в промежутке между "при наведении на первую светилась первая" и "при наведении на вторю, светилась первая и вторая " всегда будет срабатывать onMouseOver для первой. просматривать в цикле остальные нет смысла.

   
 
 автор: Job   (31.05.2007 в 12:44)   письмо автору
 
   для: AlexSol   (31.05.2007 в 09:43)
 

Всем огромное спасибо особенно Mirage. Единнственно верный ход :) спасибо

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования