Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.03.2014, 15:36
Интересующийся
Отправить личное сообщение для barkar Посмотреть профиль Найти все сообщения от barkar
 
Регистрация: 11.02.2014
Сообщений: 27

Don't make functions within a loop.
Есть код:
var ul,x,len....и т.д.
		for(x = 0; x < len; ++x){
			ul.append(
				$('<li></li>', { data: { 'price': jsonres[x].price } }).append(
					$('<img>', { src: jsonres[x].url }),
					$('<p></p>', { text: jsonres[x].name }),
					$('<p></p>', { text: 'Цвет: '+jsonres[x].color }),
					$('<p></p>', { text: 'Размер: '+jsonres[x].size }),
					$('<p></p>', { text: this.digitSpace(jsonres[x].price), data:{'price': jsonres[x].price} }),
					$('<span></span>', {text:'Удалить', click : function(){
							var saleShow = $('#saleShow'),
								prnt = $(this).parent('li'), 
								a = prnt.index(),
								itogo = saleShow.find('li:last>span'),
								result =  itogo.data('itogo') ;
							$.ajax({
								type: 'POST',
								url: '/ajax/ajax.php',
								dataType: 'json',
								data: { deleq: a },
								success: function(delres) {
									prnt.stop(false, true).fadeOut(400, function() {
										sizeSale.text(delres.length);
										var saleShowH = saleShow.outerHeight(true),
											saleShowW = saleShow.outerWidth(true);
										$('#Lcont').css({'width': saleShowW+'px', 'height': saleShowH+'px'});
										result -= prnt.data('price');										
										itogo.data('itogo', result).text( lightbox.digitSpace(result.toFixed(2)) );
										$(this).remove();
										_window_.trigger('resize');	
										if(result === 0){ $('#ext').trigger('click');}
									});									
								}
							});
						}
					})));
			sum += parseFloat(jsonres[x].price);
		}

Выдает ошибку:в JShint выдает ( Don't make functions within a loop. (W083) );
Как поступить?
Ответить с цитированием
  #2 (permalink)  
Старый 06.03.2014, 16:26
Интересующийся
Отправить личное сообщение для barkar Посмотреть профиль Найти все сообщения от barkar
 
Регистрация: 11.02.2014
Сообщений: 27

for(x = 0; x < len; ++x){
            ul.append(
                $('<li></li>', { data: { 'price': jsonres[x].price } }).append(
                    $('<img>', { src: jsonres[x].url }),
                    $('<p></p>', { text: jsonres[x].name }),
                    $('<p></p>', { text: 'Цвет: '+jsonres[x].color }),
                    $('<p></p>', { text: 'Размер: '+jsonres[x].size }),
                    $('<p></p>', { text: this.digitSpace(jsonres[x].price), data:{'price': jsonres[x].price} }),
                    $('<span></span>', {text:'Удалить', click : this.clickDel
                    })));
            sum += parseFloat(jsonres[x].price);
        }

Решил так

Последний раз редактировалось barkar, 06.03.2014 в 16:31.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бесконечный Loop на Ajax, с использованием .htaccess borodadada AJAX и COMET 7 21.05.2013 14:44
Node.js sync or async functions eai AJAX и COMET 3 06.10.2011 12:07