Галерея на Jquery
Гуру JS помогите решить проблему с google chrome.
Написал скрипт галереи. Он замечательно работает в opera & firefox.Z На php из БД формирую такой код: <script type="text/javascript"> id = new Array(); name = new Array(); id[0]=67; name[0]="5.jpg"; id[1]=65; name[1]="4.jpg"; id[2]=64; name[2]="3.jpg"; id[3]=63; name[3]="2.jpg"; id[4]=62; name[4]="1.JPG"; </script> Потом по событию Jquery $(window).bind('hashchange', function()... Выполняю функцию function watch () { var loc=window.location.hash.replace('#', ''); for (i=0; i<=id.length-1; i++) { if (id[i]==loc) { $('#pic').attr('src','http://yakulibin.ru/gallery/img/'+name[i]); $('#upload').attr('href','http://yakulibin.ru/gallery/img/'+name[i]); n=i+1; b=i-1; if (n>id.length-1) var n=0; if(b<0) b=id.length-1; $('#back').attr('href','#'+id[b]); $('.next').attr('href','#'+id[n]); break; } } В google chrome картинка не отображается. P.S. ссылка на галерею и на galerry.js Через firebug понял только что массив name обнуляется. Думаю что то не так с объявлением переменных либо с переменными функций. Опытные люди помогите организовать галерею по умному) |
> // Загрузил галерею undefined test = id; > [71, 70, 63, 62] > test = name; "" > // Опа, пусто undefined > // Не проблема, ща объявим undefined > name = new Array("5.jpg", "4.jpg", "3.jpg", "2.jpg", "1.jpg"); ["5.jpg", "4.jpg", "3.jpg", "2.jpg", "1.jpg"] > // Опять смотрим undefined > test = name; "5.jpg,4.jpg,3.jpg,2.jpg,1.jpg" > // Ппц, строка!!!! undefined > name = name.split(','); ["5.jpg", "4.jpg", "3.jpg", "2.jpg", "1.jpg"] > test = name; "5.jpg,4.jpg,3.jpg,2.jpg,1.jpg" > // Мля, опять строка!!! undefined В браузере при этом ни чего не делаю. Чисто с консолью хрома работаю. Довольно забавный случай. Пока не знаю в чём причина. |
думаю где-то конфликт имён. если name объявить как name1 и в функции watch сделать соответствующие поправки, то часть глюков пропадает, т.е через раз начинает срабатывать.
|
Потому что с глобальными переменными надо аккуратней. А с глобальной переменной name втройне аккуратней.
|
Я тоже думал насчет переменной name, поменял всё равно не пашет. спасибо. Наверно придётся с нуля переписывать.
|
Вы бы открыли для себя волшебное слово var, очень помогает.
|
Цитата:
кстати, да Цитата:
Цитата:
|
ок. Но n и b не влияют на массив name
|
name -- зарезервированная переменная.
|
Цитата:
|
Часовой пояс GMT +3, время: 02:27. |