Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 03.08.2016, 12:08
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

В будущем когда source.assign(target) получит законную силу, перепишешь свой скрипт на одну строку

messages.assign(json);

https://developer.mozilla.org/ru/doc.../Object/assign
Ответить с цитированием
  #12 (permalink)  
Старый 03.08.2016, 12:10
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

рони, не надо картинок постить, у меня с двача лягушек на мегабайт.
Изображения:
Тип файла: jpg 0796ce60850644c782de9e0605dd787e.jpg (212.7 Кб, 3 просмотров)
Ответить с цитированием
  #13 (permalink)  
Старый 03.08.2016, 12:12
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от KupueIIIKo
sort(compareNumeric)
Как это слетают? Показывай свои коды, короче, если хочешь выйти на современный уровень программирования.
Ответить с цитированием
  #14 (permalink)  
Старый 03.08.2016, 12:28
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

function getMessages(){
	if(messages.length===0){
		$.ajax({
			type: 'post',
			data: 'getMessages',
			cache: false,
			dataType: 'json',
			success: function(answer){
				pushMessages(answer);
			},
		});
	}else{
		//Если не первая загрузка добавляем в ajax новую переменную.
	}
}
function pushMessages(answer){
	for(var i=0;i<answer.length;i++){
		messages[answer[i].id] = new Object();
		messages[answer[i].id].text = answer[i].text;
		messages[answer[i].id].time = answer[i].time;
		messages[answer[i].id].sender = answer[i].sender;
	}
	updateMessages();
}

Я думаю пойдет для начала)
__________________
Обеими руками за монополизацию браузерного бизнеса. Меньше браузеров, большего свободного времени у разработчиков.©KupueIIIKo
Ответить с цитированием
  #15 (permalink)  
Старый 03.08.2016, 12:36
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Для начала посмотри, что получается, если переписать твою пушнину нормальным языком

function pushMessages(data){

	var row;

	for(var i=0;i<data.length;i++){
	
		row=data[i];
	
		messages[row.id] = {
			
			id:row.id,
			text:row.text,
			time:row.time,
			text:sender.sender,
		
		}
		
	}
	
}


То есть это не все, просто я хочу чтобы ты сам допер, как все просто.
Ответить с цитированием
  #16 (permalink)  
Старый 03.08.2016, 12:39
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

То есть, если в answer нет ничего лишнего или оно не помешает, то пушнина вырождается в

function pushMessages(data){

	for(var i=0;i<data.length;i++)
		messages[data[i].id] = data[i];
	
}


Сравни код выше с тем, который я постил от балды и найди отличия. ))) И все что тебе не хватает - это id сразу в выдаче с сервера, о чем я сразу же на капу и нажал.
Ответить с цитированием
  #17 (permalink)  
Старый 03.08.2016, 12:43
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

Сообщение от warren buffet Посмотреть сообщение
Для начала посмотри, что получается, если переписать твою пушнину нормальным языком

function pushMessages(data){

	var row;

	for(var i=0;i<data.length;i++){
	
		row=data[i];
	
		messages[row.id] = {
			
			id:row.id,
			text:row.text,
			time:row.time,
			text:sender.sender,
		
		}
		
	}
	
}


То есть это не все, просто я хочу чтобы ты сам допер, как все просто.
стиль написания не важен главное работоспособность) ну если тока сэкономить сотню байт при передаче данных
__________________
Обеими руками за монополизацию браузерного бизнеса. Меньше браузеров, большего свободного времени у разработчиков.©KupueIIIKo
Ответить с цитированием
  #18 (permalink)  
Старый 03.08.2016, 12:44
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

Сообщение от warren buffet Посмотреть сообщение
То есть, если в answer нет ничего лишнего или оно не помешает, то пушнина вырождается в

function pushMessages(data){

	for(var i=0;i<data.length;i++)
		messages[data[i].id] = data[i];
	
}


Сравни код выше с тем, который я постил от балды и найди отличия. ))) И все что тебе не хватает - это id сразу в выдаче с сервера, о чем я сразу же на капу и нажал.
тут у тебя id дублируется 2 раза)
__________________
Обеими руками за монополизацию браузерного бизнеса. Меньше браузеров, большего свободного времени у разработчиков.©KupueIIIKo
Ответить с цитированием
  #19 (permalink)  
Старый 03.08.2016, 12:45
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Допустим ты отрендерил ленту по полученным данным и пришли новые. Так ты просто заменяй messages на answer, то есть в калбеке аякса messages = answer и сразу на рендер.
Ответить с цитированием
  #20 (permalink)  
Старый 03.08.2016, 12:47
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от KupueIIIKo
тут у тебя id дублируется 2 раза)
То есть твой баттхерт выдал взаимоисключающие параграфы в пределах одной страницы форума:

Сообщение от KupueIIIKo
ну если тока сэкономить сотню байт при передаче данных
Вот теперь иди проси рони исправить твои колхозные коды. Я с "питекантропами" не общаюсь.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сanvas изображения подключить к элементу выбора файла mnbcz Элементы интерфейса 0 14.07.2016 17:38
Плавный переход к элементу по внешней ссылке deniskutovskiy jQuery 13 16.10.2015 22:30
Добавление класса элементу при прокрутке к этому элементу patriot94 Общие вопросы Javascript 5 18.03.2014 12:41
Как добраться через jquery к элементу? literator Events/DOM/Window 3 25.12.2013 21:45
Как прокрутить переполненный div к внутреннему элементу? Serg_pnz jQuery 0 16.05.2011 17:52