Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.12.2015, 11:40
Аватар для fenix_63
Аспирант
Отправить личное сообщение для fenix_63 Посмотреть профиль Найти все сообщения от fenix_63
 
Регистрация: 05.06.2014
Сообщений: 92

Добавить товару активному изображению
Всем привет. Народ, помогите пжлста. Есть сайт: hookah-dream.ru/katalog/product/view/20/202.html
В нём есть товар, например "колбы для кальяна". подскажите как сделать так, чтобы выбранное изображение колбы дополнялось меткой? Ну т.е. картинкой? Надо чтобы на выбранном изображении стояла галочка, что в данный момент выбрано именно это изображение товара.

Помогите пжлста. Саму метку с её изображением сделал, а вот как её прикрепить к изображению товара - не знаю.

Думаю функция на JS нужна, которая бы активной картинке какой-нибудь класс active присваивала, но вот реализовать пока не получается. Вот код:

<span id='list_product_image_thumb'>
				<?php if ( (count($this->images)>1) || (count($this->videos) && count($this->images)) ) {?>
				
				
					<!--тут идёт вывод метки товара, сейчас выводятся метки у каждой миниатюры, а надо только у выбранной--->
						<?php if ($product->label_id){?>
							<div class="product_label">
								<?php if ($product->_label_image){?>
									<img src="<?php print $product->_label_image?>" alt="<?php print htmlspecialchars($product->_label_name)?>" />
								<?php }else{?>
									<span class="label_name"><?php print $product->_label_name;?></span>
								<?php }?>
							</div>
						<?php }?>
						<!-------------------------------->	
				
				
					<?php foreach($this->images as $k=>$image){?>
						
						
						<!--нужно обработать OnClick(). Нужно добавить класс active именно той картинке, на которую нажали,
						а остальным присвоить класс no_active. Изображение с классом active (метка) и будет появляться только
						на одной картинке, а не на всех-->
						<img class="jshop_img_thumb" src="<?php print $this->image_product_path?>/<?php print $image->image_thumb?>" alt="<?php print htmlspecialchars($image->_title)?>" title="<?php print htmlspecialchars($image->_title)?>" onclick="showImage(<?php print $image->image_id?>,this)" />
											
						
					<?php }?>
				<?php }?>
			</span>


И есть вот такая функция, срабатывает при клике по изображению:

function showImage(id, obj){    
    jQuery('.video_full').hide();
    jQuery('a.lightbox').hide();
    jQuery("#main_image_full_"+id).show();//Вывод большой картинки
    jQuery(".product_label").show();//Вывод метки
	
	
	//Добавляем класс 
	//jQuery(".jshop_img_thumb").addClass("active");
	//jQuery(obj.className).addClass("active");
	var my_class=jQuery(obj).attr("class");
	jQuery("."+my_class).addClass("active");
	
	//my_class.addClass("active");
}
Ответить с цитированием
  #2 (permalink)  
Старый 03.12.2015, 05:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Если результирующий html это span и в нем img, то ради этих двух тегов столько php-тегов натуеверчено, что код читать, это приключение. ) Неужто нельзя упростить запись используя тернарный оператор?

Если я правильно понял, то не jQuery(".product_label").show(); нужен, а добавлять/удалять класс. Но речь идет о товарах, а не просто картинках, а товары это не собственность клиента, сервер то должен знать о выборе пользователя, а сообщать ему об этом классом не получится, нужна форма, а конкретно ее элемент checkbox, который и определяет выбор. И все события должны быть привязаны к нему, по вашему же описанию получается, что вы пытаетесь управлять картинкой вне контекста товара, которому она принадлежит.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Knockout добавить несколько классов svs Библиотеки/Тулкиты/Фреймворки 0 10.07.2014 16:22
Как добавить событие на document в Iframe ? Deff Events/DOM/Window 23 14.07.2012 21:40
Как добавить атрибут к ссылке hell100 Общие вопросы Javascript 2 20.06.2012 16:51
Добавить элементы формы Katik Элементы интерфейса 1 02.03.2012 11:09
Скрипт калькулятора (не могу добавить еще одно значение) Jee_Day Я не знаю javascript 2 22.05.2009 13:19