Javascript.RU

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

Переменная из значения переменной
Добрый день,

Есть переменные:

var num1 = 0;
var num2 = 0;
var num3 = 0;


Есть картинки:

<img src="..." id="num1">
<img src="..." id="num2">
<img src="..." id="num3">


При левом клике из картинок вытаскиваем ID:

$('img').live('click', function(e) {
     var num = $(this).attr('id');
}


В чем собственно вопрос. Мне нужно из полученого ID сделать переменную и добавить к ней 1.

Очевидно
$('img').live('click', function(e) {
     var num = $(this).attr('id');
     num++;
}

не дает никаких результатов.

Как можно еще такое реализовать?

Заранее благодарю.
Ответить с цитированием
  #2 (permalink)  
Старый 29.10.2010, 16:30
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Зачем Ва каждый ID в отдельной переменной? Используйте массив.
var ids = [];
$('img').live('click', function(e) {
     ids.push($(this).attr('id')); // если нужно не допускать существования одинаковых ID в массиве, добавить проверку
}
Ответить с цитированием
  #3 (permalink)  
Старый 29.10.2010, 17:31
Новичок на форуме
Отправить личное сообщение для Murph Посмотреть профиль Найти все сообщения от Murph
 
Регистрация: 29.03.2009
Сообщений: 5

Так как я с массивами раньше не сталкивался вылезли новые проблемы. Попорядку:
var offence = []; // создаем массив offence
	$('img').live('click', function(e) { //на левый клик
		var skill = $(this).attr('id'); //вытаскиваем ID и записываем в переменную skill
		if (jQuery.inArray(skill, offence) == -1) { //Если в массиве нет такого.
                      offence.push(skill, i++); //вписываем и добавляем 1.
                }
	});


Все-бы нечего, но тут возникает новая проблемка. Как изменить этот массив при повторном нажатии?

После первого клика мы получаем:
[ "skill", 1 ]

При повторном нажатии нужно получить
[ "skill", 2 ]


Помимо этого есть еще третья проблема, мне нужно что-бы у каждого нового значения счет начинался с нуля. т.е.

Счелкаем на первую картинку два раза и три раза на третью, получаем:
[ "imgID1", 2, "imgID2", 3 ]
Ответить с цитированием
  #4 (permalink)  
Старый 29.10.2010, 17:32
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,576

Можешь обойтись и без этих переменных, а хранить эти счетчики "у самих картинок":
// начальные установки
$('img').data('num', 0);
// событие
$('img').live('click', function(e) {
     var $this = $(this);
     $this.data('num', $this.data('num') + 1);
}
Ответить с цитированием
  #5 (permalink)  
Старый 29.10.2010, 17:40
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,576

Или можно также объектом :
var offence = {num1:0, num2:0, num3:0}; // создаем объект offence
    $('img').live('click', function(e) { //на левый клик
        var skill = $(this).attr('id'); //вытаскиваем ID и записываем в переменную skill
        offence[skill] = offence[skill] + 1;
    });
Ответить с цитированием
  #6 (permalink)  
Старый 29.10.2010, 17:48
Новичок на форуме
Отправить личное сообщение для Murph Посмотреть профиль Найти все сообщения от Murph
 
Регистрация: 29.03.2009
Сообщений: 5

Все спасибо, сделал то что хотел, объектом.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение и отображение значения переменной по клику Allan Stark Общие вопросы Javascript 1 25.04.2010 15:50
Добавление значения переменной в textarea IamSmorodin Общие вопросы Javascript 13 09.04.2009 10:59
Присваивание значения переменной strike Общие вопросы Javascript 4 05.04.2009 14:19
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25