Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.04.2010, 10:55
Аватар для Lynch
Новичок на форуме
Отправить личное сообщение для Lynch Посмотреть профиль Найти все сообщения от Lynch
 
Регистрация: 25.04.2010
Сообщений: 2

Обращение к картинке на котрую наведена мышь
Не могу понять почему не работает такой код:
<script>
suv=600; 
sum=200; 
function uv(Pos,img) 
 { 
  if (suv > Pos) 
   { 
     step=20; 
     Pos=Pos+step; 
   } 
  else 
   { 
    return; 
   } 
  img.width=Pos; 
  setTimeout('uv('+Pos+','+img+')',1); 
 } 
 
 
function um(Pos,img) 
 { 
  if (sum < Pos) 
   { 
     step=20; 
     Pos=Pos-step; 
   } 
  else 
   { 
    return; 
   } 
  img.width=Pos; 
  setTimeout('um('+Pos+','+img+')',1); 
 } 
</script>

<center><IMG id="img1" src= "mount.gif" width="200" onmouseover="uv(200,this)" onmouseout="um(600,this)"></center>

Вроде как по задумке мы наводим мышь на картинку, передаём в js начальный width и id картинки, затем она должна увеличится. Соответственно когда мышь убираем - уменьшиться...где напортачил я не пойму. Пните пожалста пару раз
PS в js я дуб дубом
Ответить с цитированием
  #2 (permalink)  
Старый 25.04.2010, 11:08
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от Lynch
setTimeout('um('+Pos+','+img+')',1);
В переменной img у вас ссылка на DOM-элемент и вы её пытаетесь со строкой сложить, в итоге выходит что-то типа:
"um(600,[object HTMLImageElement])"
Естественно eval такой строки, переданной в setTimeout, ни к чему не приведет.
setTimeout(function () {
    um(Pos, img);
}, 1);
Ответить с цитированием
  #3 (permalink)  
Старый 25.04.2010, 11:09
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

function uv (w, e) {
setInterval(function () {
if (e.width < w) e.width++;
}, 10)
}

Последний раз редактировалось exec, 25.04.2010 в 11:41.
Ответить с цитированием
  #4 (permalink)  
Старый 25.04.2010, 13:13
Аватар для Lynch
Новичок на форуме
Отправить личное сообщение для Lynch Посмотреть профиль Найти все сообщения от Lynch
 
Регистрация: 25.04.2010
Сообщений: 2

Всем +1, но наверно я тупой совсем...исправил как сказал Octane - ничего не изменилось, сделал как сказал exec - ничего не изменилось...
Придётся изучать js за мего короткие сроки...2 дня, ну я не прошу...но если кто-то захочет помочь - покажите исправленный код js, буду очень признателен.
PS мне аж стыдно за своё нытьё )


Добавлено:
Проблему решил, оказалось что в скрипте не надо ставить <script></script> ...

Последний раз редактировалось Lynch, 25.04.2010 в 17:24.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск