Javascript.RU

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

Галерея на 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 обнуляется. Думаю что то не так с объявлением переменных либо с переменными функций.
Опытные люди помогите организовать галерею по умному)
Ответить с цитированием
  #2 (permalink)  
Старый 16.01.2012, 22:04
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

> // Загрузил галерею
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

В браузере при этом ни чего не делаю. Чисто с консолью хрома работаю. Довольно забавный случай. Пока не знаю в чём причина.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2012, 00:49
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

думаю где-то конфликт имён. если name объявить как name1 и в функции watch сделать соответствующие поправки, то часть глюков пропадает, т.е через раз начинает срабатывать.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2012, 08:57
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Потому что с глобальными переменными надо аккуратней. А с глобальной переменной name втройне аккуратней.
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2012, 10:35
Аватар для Daniil94
Новичок на форуме
Отправить личное сообщение для Daniil94 Посмотреть профиль Найти все сообщения от Daniil94
 
Регистрация: 16.01.2012
Сообщений: 9

Я тоже думал насчет переменной name, поменял всё равно не пашет. спасибо. Наверно придётся с нуля переписывать.
Ответить с цитированием
  #6 (permalink)  
Старый 17.01.2012, 10:53
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Вы бы открыли для себя волшебное слово var, очень помогает.
Ответить с цитированием
  #7 (permalink)  
Старый 18.01.2012, 01:39
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Сообщение от Kolyaj Посмотреть сообщение
Вы бы открыли для себя волшебное слово var, очень помогает.
Daniil94,
кстати, да
Цитата:
for (i=0; i<=id.length-1; i++)
Цитата:
n=i+1; b=i-1;
Внутри функций всегда используйте инструкцию var для объявления переменных, если конечно не хотите чтобы они были глобальными.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #8 (permalink)  
Старый 19.01.2012, 20:22
Аватар для Daniil94
Новичок на форуме
Отправить личное сообщение для Daniil94 Посмотреть профиль Найти все сообщения от Daniil94
 
Регистрация: 16.01.2012
Сообщений: 9

ок. Но n и b не влияют на массив name
Ответить с цитированием
  #9 (permalink)  
Старый 20.01.2012, 00:26
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

name -- зарезервированная переменная.
Ответить с цитированием
  #10 (permalink)  
Старый 20.01.2012, 04:29
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Сообщение от Daniil94 Посмотреть сообщение
ок. Но n и b не влияют на массив name
это не повод засорять ими глобальную область видимости. они же за пределами функции вам не нужны
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамически загружаемая jQuery и jQuery-функции в одном файле 67bytes Общие вопросы Javascript 6 06.03.2013 09:01
2 разных модуля на jQuery - как подключить? finder jQuery 4 23.03.2012 22:29
Галерея на jQuery flame jQuery 1 14.04.2011 21:53
jQuery jTreeMenu plugin Seafnox jQuery 9 12.01.2010 21:55
JQuery + FireFox NOOB jQuery 4 02.11.2009 18:16