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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Вернуть порядковый номер элемента
Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011
Помог: 0 раз(а)
Здравствуйте, возник такой вопрос: есть div в который загружаются картинки, каждая картинка реализована как ссылка на более крупное изображение. Нужно чтобы при клике на картинку возвращался её порядковый номер в div'е и лишь затем - переход к крупному изображению.
Картинки имеют такой вид:
var img_number = $('#open_gallery img').index(this);
returnfalse;
alert(img_number);
});
все равно сразу переходит по ссылке или я не так делаю?
IllusionMH
Отправлено: 24 Июня, 2012 - 19:55:52
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
Ammiak, есть ссылка на пример?
Скопировал - получается все наоборот: никакого перехода, но сообщение с номером. (Добавление)
в данном случае return false; сразу прерывает выполнение функции, и никакого alert'a уже не будет
Ammiak
Отправлено: 24 Июня, 2012 - 20:07:56
Частый гость
Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011
Помог: 0 раз(а)
Не, ссылки нет, делаю на локалхосте. Ну мне хотя бы просто алгоритм уяснить, как такое делается, ведь понятно что return false даже если сработает, полностью отменит переход по ссылке, что тоже не есть гуд
IllusionMH
Отправлено: 24 Июня, 2012 - 20:12:35
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
Ammiak,так подробней объясните чего хочется?
Зачем порядковый номер, если тут же будет переход?
Ammiak
Отправлено: 24 Июня, 2012 - 20:28:05
Частый гость
Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011
Помог: 0 раз(а)
Постараюсь объяснить попонятнее
Ситуация такова: как я уже указал, в div'e картинки: первая, вторая, третья и.т.д. в виде ссылок, ссылающихся на файл big_image.php. Цель: записать порядковый номер картинки, по которой кликаем в сессию, чтобы при переходе к big_image.php там его использовать и выводить картинку именно этого же порядкового номера, а если ещё проще, чтобы открывающееся увеличенное изображение соответствовало той миниатюре картинки, по которой мы кликаем
IllusionMH
Отправлено: 24 Июня, 2012 - 20:53:49
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
Ammiak, я бы формировал ссылку еще на стороне php, при выводе страницы.
Тогда так же известен порядок. А если элементы еще подтягиваются через AJAX, то в запросе передавал бы имеющееся число элементов, и на стороне сервера продолжал бы нумерацию в ссылках.
При клике по картинке, сразу будет переход по ссылке типа /big_image.php?id=2
Как я понимаю, это число в сессию как раз в этот момент можно и записать.
Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011
Помог: 0 раз(а)
IllusionMH, Вам большое спасибо за то что подправили код, но вот что выяснил: здесь оказывается ещё и проблема в fancybox'е (он применяется к изображениям, и файл big_image.php открывается в модальном окне). Отключил фэнсибокс-работает как надо, обратно подключаю его-снова сразу переход по ссылке без вывода номера
IllusionMH
Отправлено: 24 Июня, 2012 - 23:02:27
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
Ammiak, код я не трогал. Просто скопипастил, и добавил воды.
С fancybox к сожалению не сталкивался, сейчас попробовал повторить ошибку - не прокатило.
Если есть возможность использовать jQuery версии 1.7 и выше, можно попробовать переписать присвоение обработчика через http://api[dot]jquery[dot]com/on/][dot]on(), или для начала проверить, происходит ли присвоение обработчика, попытавшись вывести обычный alert
И если уж нужен переход по ссылке, то может убрать фансибокс с этих ссылок?
Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010
Помог: 69 раз(а)
fancybox работает без перезагрузки страницы, а вы ее перезагружаете. Так она не будет работать. добавление
А ... я понял
Вы хотите скрыть путь к картинке?
Так не прокатит. Вы должный сразу сформировать ссылку на большую картинку.
Можно попробовать как вариант я не проверял. На стороне сервера сразу формировать ссылку типа
Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011
Помог: 0 раз(а)
Цитата:
И если уж нужен переход по ссылке, то может убрать фансибокс с этих ссылок?
да, без фэнсибокса работает норм, но к сожалению нужно открывать полноразмерную картинку в модальном окне tuareg но если сразу сформировать GET-парамтр id=1, то при выборе скажем второй картинки будет всё равно открываться первая? При использовании фэнсибокса я не могу получить эту двойку, чтобы записать её в сессию или передать как GET-параметр, скрипт сразу переходит по ссылке, игнорируя этот кусок кода:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.