Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.09.2014, 15:01
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

велосипед для редактора строк
наверняка это миллион раз уже изобретено
простейший редактор текста

надо чтобы список DOM-элементов отображал содержимое элементов массива
тоесть визуализация массива элементов

так чтобы при редактировании элементов через интерфейс документа массив элементов синхронизировался

не могу понять как это сделать чтобы не было перерисовки DOM-элементов при обновлении массива элементов

то есть чтобы выбирая любой элемент в списке DOM-элементов всегда выбирался соответствующий элемент в массиве элементов
то есть чтобы сохранялось соответствие порядкового номера обоих массивов

задача простая и вроде понятно выразил


---------------------------
еще раз -


есть массив в котором элементы - например строки
этот массив надо визуализировать на экране в виде списка строк
полученные элементы интерфейса содержат некий код для функционирования редактора
редактор добавляет удаляет элементы массива
изменения сразу происходят на экране, меняется DOM
и при этом изменения вносятся в массив - тоесть происходит синхронизация

я понимаю что если просто заново отобразить все элементы массива на экране то редактор заработает
но не могу понять как это сделать чтобы не надо было перерисовывать DOM

Последний раз редактировалось nverv, 01.09.2014 в 16:04.
Ответить с цитированием
  #2 (permalink)  
Старый 01.09.2014, 15:03
Аватар для Viral
Профессор
Отправить личное сообщение для Viral Посмотреть профиль Найти все сообщения от Viral
 
Регистрация: 26.04.2011
Сообщений: 472

сто пардонов за оффтоп.. вы часом не сеошник?
Ответить с цитированием
  #3 (permalink)  
Старый 01.09.2014, 15:05
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

Сообщение от nverv Посмотреть сообщение
задача простая и вроде понятно выразил
а я вот честно говоря нихера не понял))
Ответить с цитированием
  #4 (permalink)  
Старый 01.09.2014, 16:03
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

Сообщение от Viral Посмотреть сообщение
сто пардонов за оффтоп.. вы часом не сеошник?
первая практика после знакомства с js
простейший редактор текста делаю
Ответить с цитированием
  #5 (permalink)  
Старый 01.09.2014, 16:10
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

есть куча готовых редакторов
http://www.tinymce.com/
http://nytimes.github.io/ice/demo/
http://ace.c9.io/#nav=about

можно еще покопаться)
Ответить с цитированием
  #6 (permalink)  
Старый 01.09.2014, 16:33
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

сам хочу понять алгоритм
ума не хватит читать чужой сложный кот

Последний раз редактировалось nverv, 01.09.2014 в 16:41.
Ответить с цитированием
  #7 (permalink)  
Старый 01.09.2014, 16:39
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

Сообщение от nverv Посмотреть сообщение
сам хочу понять алгоритм
открываешь исходники и смотришь))
Ответить с цитированием
  #8 (permalink)  
Старый 01.09.2014, 16:41
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

Сообщение от skrudjmakdak Посмотреть сообщение
открываешь исходники и смотришь))
спасибо
твои советы похоже бесполезны
мне все время кажется что на этом форуме много пидарасов ))
Ответить с цитированием
  #9 (permalink)  
Старый 01.09.2014, 16:42
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Когда выводите текст в редакторе - связываейте его не с конкретным html элементом, а с текстовой нодой внутри него.
Ответить с цитированием
  #10 (permalink)  
Старый 01.09.2014, 16:47
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Цитата:
есть массив в котором элементы - например строки
этот массив надо визуализировать на экране в виде списка строк
полученные элементы интерфейса содержат некий код для функционирования редактора
редактор добавляет удаляет элементы массива
изменения сразу происходят на экране, меняется DOM
и при этом изменения вносятся в массив - тоесть происходит синхронизация
Можно сделать карту массива, например:
arr = ["string1", "string2", "string3"];
map = {
   0: textNode1,
   1: textNode2,
   3: textNode3
}


Тогда отображение изменения второго элемента массива будет так:

arr[1] = "trololo";
map[1].textContent = arr[1];
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP. Файлы инициализации, и зачем нужно множество файлов для подключение к БД? Brook Серверные языки и технологии 2 04.12.2013 10:31
Cookie для меню аккордион и для div Lastedl jQuery 1 03.12.2013 04:55
Удалению метаданных в JPEG lorents Библиотеки/Тулкиты/Фреймворки 2 22.04.2012 21:02
$('#id') не работает для некоторых элементов tmvrus jQuery 10 12.10.2010 15:45