Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как глобальные переменные передать функции-обработчику события в jquery
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Как глобальные переменные передать функции-обработчику события в jquery

Страниц (1): [1]
 

1. surrealistic pillow - 06 Мая, 2015 - 10:25:15 - перейти к сообщению
Задача стоит такая - есть четыре ссылки, внутри которых изображения.
Нужно сделать, чтобы при наведении мыши на ссылку атрибут src изображения менялся (указывал на другое изображение, с префиксом '-hover' в имени)

Вопрос в следующем - как глобальные переменные передать функции-обработчику события в jquery

CODE (html):
скопировать код в буфер обмена
  1. <div class='tm-nite-icons' style='margin:auto;width:300px;'>
  2.         <a class='white0' href='#'><img src='00.png'></a><br>
  3.         <a class='white1' href='#'><img src='01.png'></a><br>
  4.         <a class='white2' href='#'><img src='02.png'></a><br>
  5.         <a class='white3' href='#'><img src='03.png'></a><br>
  6. </div>

CODE (javascript):
скопировать код в буфер обмена
  1. jQuery(document).ready(function(){             
  2.                 arr = new Array('00','01','02','03');// имена файлов-картинок без расширения
  3.                 for(var i = 0; i<=3; i++){                     
  4.                         var a = '.white' + (i);//здесь хранится css класс ссылки
  5.                         var image = a + ' img';//изображение, которому будем менять атрибут src                        
  6.                         //alert (a); //работает, выводит переменную
  7.                         jQuery(a).hover(function(arr, i, image){
  8.                                 var path = '/images/' + arr[i] + '-hover.png';//при наведении мыши на ссылку, путь ведет к изображению с префиксом hover
  9.                                 //alert(path); //не работает, значение глобальной переменной arr[i] определяется как undefined
  10.                                 jQuery(image).attr('src', path);
  11.                         },
  12.                         function(arr, i, image){
  13.                                 var path = '/images/' + arr[i] + '.png';//если мышь не наведена на ссылку, путь ведет к изображению без префикса hover
  14.                                 jQuery(image).attr('src', path);
  15.                         });
  16.                 }
  17.         });
2. DeepVarvar - 06 Мая, 2015 - 11:40:54 - перейти к сообщению
Они и так "глобальные", не нужно их передавать в аргументах калбяка.

 

Powered by ExBB FM 1.0 RC1