Есть такая штука, называется DOM - Document Object Model. Это - модель того, что из себя представляет документ, из чего он состоит и как это отобразить на некоей повержности. В модели этой есть картинки, таблицы, текст, всякого рода выравнивания, модификаторы шрифтов, сопутствующие структуры для форматирования всего этого и вообще - очень много чего.
На базе этой модели, сделана спецификация, реально используемая и работающаяя - HTML. Это HyperText Markup Language, который является языком описания. Все объекты описываемые HTML документом упорядочены в иерархическом порядке - дереве объектов, в самом верху которого лежит документ. Этот документ и отображают браузеры.
Динамический HTML, это расширение возможностей HTML за счёт введения в язык специальных директив - скриптов, которые по сути своей являются программами изменяющими состояние объекта документ - создающие и/или удаляющие элементы в иерархии и изменяющие их свойства. Как правило для управления документом скрипт использует синтаксис специально для этого разработанного языка JavaScript, но некоторые браузеры понимают также директивы на других языках - IE например понимает ещё и VBScript. При этом сами скрипты занимают точно такое же положение в структуре документа как и все остальные элементы.
Скрипты работающие с документом, "крутяться" на машине пользователя, тоесть - клиента, под браузером, который на каждый объект типа документ создаёт практически изолированное информационное пространство таким образом что скрипт, ни чего кроме документа не видит и ни чем кроме как документом управлять не может. Представлением документа на экран занимается браузер, именно браузер запускает тот или иной скрипт, вносит изменения в структуру документа после того как скрипт отработает и отображает необходимые изменения на экране, именно браузет регистрирует необходимость получить с сервера ту или иную картинку, или новый документ, от браузера и только от него зависит как будет выглядеть и работать документ полученный с сервера клиентом.
Сервер же просто отдаёт по сути файл с небольшими коментариями к нему. Что за файл необходимо отдать на данный, конкретный запрос клиента, сервер узнаёт по тем сведениям что сообщает сам клиент. Механизмов для отправки информации серверу несколько, через параметры заголовка - cookies'ы, через адрес ресурса методом GET, в теле запроса - методом PUT, что впрочем не мешает совмещать все эти методы.
На сервере перед отправкой файла может быть запущена программа - HyperText Processor, которая в зависимости от полученных данных от клиента может внести коррективы в отправляемый файл - один из вариантов такого гипертекстового процессора - PHP, другой от микрософт - ASP. PHP использует в качестве языка специально разработанный для этого язык, ASP же использует синтаксис скриптовых языков как JavaScript или VBScript, но в данном случае, скрипты ASP получают не документ в самом верху иерархии, а несколько объектов таких как Server, Response, Request. Важное отличие динамики на стороне сервера от динамики на стороне клиента: на клиенте скрипты ВСЕГДА работают с документом под браузером; на сервере же, скрипты работаю с входным и выходным потоками, тоесть на вход скрипт получает значения от клиента, на выходе отдаёт тупо файл.
Таким образом, ВСЁ ЧТО МЫ МОЖЕМ УВИДЕТЬ - показывает нам браузер используя DHTML!!!
Любая активность которая не связана с формированием ответа (читай сборкой файла) - это DHTML!!! Картинка ползает по экрану? - DHTML! Мышкой таскаем ссылки, строки, картинки, окошки? - это DHTML!!!! Нет HTML - нет документа, есть HTML - есть документ. Если браузер поддерживает JavaScript, то наш HTML документ автоматически превращается в DinamicHTML. Вот и всё! И где логика в высказывании "DHTML - мусор, так как Ajax - значительно круче!" я не пойму.
Ajax - это такая же модель как и DOM, не в том смысле что это её аналог или подобие, а в том смысле что это НЕ ТЕХНОЛОГИЯ и НЕ СПЕЦИФИКАЦИЯ! Это принцып, идея, механизм работы клиента с сервером. Суть этого механизма - при очередном выборе пользователя не убивать всякий раз документ в браузере а используя возможности DHTML изменять его, получая с сервера необходимые для этого данные! Механизм получил имя Ajax сравнительно недавно, так как значительно раньше уже были сайты использующие этот подход. В частности, я лично этим занимался. Про Ajax я узнал от своего друга, когда похвастался удобством очередного своего сайта - он меня и просветил, сказав, что этот подход уже успел получить имя - Ajax.
<!--QuoteBegin-SOFTOBZOR.ru+15:09:2006, 10:18 -->
<span class="vbquote">(SOFTOBZOR.ru @ 15:09:2006, 10:18 )</span><!--QuoteEBegin-->Порабы расширять кругозор, или хотя бы задуматся почему все солидные конторы типа [snapback]43902" rel="nofollow" target="_blank[/snapback]</div>[/quote]
на этом месте у меня жена даже поугорала! :blink: тоже мне пример для подрожания! солидные конторы!!!
)) я это изречение на стенку повешу за подписью - SOFTOBZOR.RU!
Gisma
Что касается драг анд дропа, то я не разбирался как это можно сделать, но на вскидку вешаем обработку на документ по onMouseMove и ловим onClick на элементах которые нужно таскать, после по клику сообщаем имя объекта обработчику движения мышки и тот изменяет absolute кординаты объекта. Вообще это не правильный способ (не сморя на то что именно так сделано у mail.ru) - должна быть возможность прямой привязки, так как тормоза будут с этим способом (и есть) конкретные...
Ну а читать - всё там же www.ru.wikipedia.org, а ещё лучьше не просто читать, но и принимать активное участие в его наполнении.