Показать сообщение отдельно
  #1 (permalink)  
Старый 05.12.2010, 20:40
Интересующийся
Отправить личное сообщение для romanco Посмотреть профиль Найти все сообщения от romanco
 
Регистрация: 24.11.2010
Сообщений: 16

Хитрый алгоритм
]Добрый день
Как то поднимал на форуме данную проблему, но до сих пор ее не закрыл.
Суть проблемы. Задачка называется "счетчик кликов". Есть "плюс" и "минус", кликаем либо одно либо другое - изменяется итоговое число. Все бы хорошо для одного элемента, а вот если элементов несколько. Вот пример:
<div class="eqv"><a href="#" class="minus">-</a><span></span><a href="#" class="plus">+</a></div>
<div class="eqv"><a href="#" class="minus">-</a><span></span><a href="#" class="plus">+</a></div>
<div id="sum"></div>


Вот код скрипта:
$(function(){
		$('.eqv').each(function (){
			var c=0;
			var div = $(this);
			div.find('a').bind('click',function(event){
				if (event.target.className == "plus"){
		  				c++;
				}
				else if (event.target.className == "minus"){
						c--;
				}
				div.find('span').text(c);
			})	
		});
	});

Проблема вот в чем. Создаются объекты, на каждый объект вешается клик и вызов функции. Для каждого объекта "с" будет разной, вот как бы их сложить и отобразить сумму в диве id="sum". У меня есть решение, но оно не оптимальное на мой взгляд. Есть скорее всего короткий путь
Ответить с цитированием