Галерея на 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 -- зарезервированная переменная.
|
Цитата:
|
Исправил name на fname теперь ве работает) ну и var дописал. Спасибо
|
| Часовой пояс GMT +3, время: 20:20. |