Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.12.2012, 23:08
SER SER вне форума
Интересующийся
Отправить личное сообщение для SER Посмотреть профиль Найти все сообщения от SER
 
Регистрация: 24.03.2011
Сообщений: 14

Не работает скрипт
Есть два похожих кода, но первый работает
$(".previous").click(function(){
        var pr = $('#imgwrape').attr('imgnumber');
        if (pr=="1")
        {
	      var r = 4
        }
        else
        {
        	var r = pr - 1
        };
        $('#imgwrape').html('<img id="imgbigsize" src="img/main/' + r + 'big.jpg">');
        $('#imgwrape').attr('imgnumber', r);
        $('#imgboxname').html('Иллюстрация ' + r + ' из 4');
    });

а второй нет
$('#imgbigsize').click(function(){
            var pr = $('#imgwrape').attr('imgnumber');
            if (pr=="4")
            {
             var nr = 1
            }
            else
            {
             var nr = pr + 2
            };
            $('#imgwrape').html('<img id="imgbigsize" src="img/main/' + nr + 'big.jpg">');
            $('#imgwrape').attr('imgnumber', nr);
            $('#imgboxname').html('Иллюстрация ' + nr + ' из 4');
        });

Объясните, ПОЖАЛУЙСТА, в чем дело!

Последний раз редактировалось SER, 18.12.2012 в 23:12.
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2012, 23:49
Аватар для Margarita
Аспирант
Отправить личное сообщение для Margarita Посмотреть профиль Найти все сообщения от Margarita
 
Регистрация: 14.09.2012
Сообщений: 83

а как именно он не работает?
проверьте консоль на ошибки, проверьте существование каждого используемого элемента, выводите в консоль промежуточные значения переменных...
Ответить с цитированием
  #3 (permalink)  
Старый 19.12.2012, 02:02
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

SER,
Без HTML переключаемого контента вопросы об ошибках - нонсенс
Ответить с цитированием
  #4 (permalink)  
Старый 19.12.2012, 22:28
Профессор
Отправить личное сообщение для Hoshinokoe Посмотреть профиль Найти все сообщения от Hoshinokoe
 
Регистрация: 08.01.2012
Сообщений: 253

SER,

Проблема в этой строке:
var nr = pr + 2

pr - у вас строка и операция сложения для строк есть, поэтому второй аргумент преобразуется тоже в строку. В первом же случае операция минус не существует для строк, только для чисел, поэтому складываются два числа.
var res1 = "222" + 111; // выдаст "222111"
var res2 = "222" - 111; // выдаст 111
alert('res1 = ' + res1 + '\n res2 = ' + res2);
1-й вариант:
преобразовывать значение в число
var pr = parseInt($('#imgwrape').attr('imgnumber'));
2-й вариант (более правильный):
использовать data аттрибут и преобразование делать не прийдется
var pr = $('#imgwrape').data('imgnumber');
...
$('#imgwrape').data('imgnumber', nr);

Последний раз редактировалось Hoshinokoe, 19.12.2012 в 22:34.
Ответить с цитированием
  #5 (permalink)  
Старый 19.12.2012, 22:42
SER SER вне форума
Интересующийся
Отправить личное сообщение для SER Посмотреть профиль Найти все сообщения от SER
 
Регистрация: 24.03.2011
Сообщений: 14

Большо спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работает скрипт как ссылка Abraham jQuery 31 14.06.2011 03:04
Не работает скрипт :( VladimirV Javascript под браузер 5 21.12.2010 14:26
Сверкающая ссылка. Скрипт не работает в фаерфоксе Wukong Firefox/Mozilla 3 09.09.2010 15:09
скрипт работает только в IE, а в остальных браузерах нет. melodicman Firefox/Mozilla 0 23.06.2010 15:18
скрипт не работает в IE( SunYang Общие вопросы Javascript 3 02.02.2010 22:45