Вопрос № 127211: Здравствуйте уважаемые эксперты!
Подскажите где мона скачать хорошую книжку по JavaScript.
Потому как скачал кучу книжек но так и не нашел то что мне нужно. Так как там не все разделы. Например как при нажатии нопки реализовать динамическое ...
Вопрос № 127.211
Здравствуйте уважаемые эксперты!
Подскажите где мона скачать хорошую книжку по JavaScript.
Потому как скачал кучу книжек но так и не нашел то что мне нужно. Так как там не все разделы. Например как при нажатии нопки реализовать динамическое появление элементов. Вот я нашел некий подобный скрипт. И понимаю чисто интуитивно как он работает. А надо подробное описание такого рода приемов. И еще мне нужно чтобы по крестику закрывалось данная табличка! Вот надеюсь подробно описал то что мне нужно. Но просто решение моего скрипта не пойдет мне нужен качественная литература.
Отвечает: Иван Сергеевич
Здравствуйте, Малых Константин!
1. Для динамического изменения контента страницы используйте DOM (Document Object Model), с помощью которой Вы представляете страницу в виде дерева (каждый узел - элемент страницы, например ячейка таблицы). С ее помощью легко можно добавлять/изменять/удалять отдельные части.
В приложении я добавил ссылки на три статьи, посвященные DOM-модели, а также одну интересную статью насчет использования атрибутов и свойств объектов.
2. По поводу закрытия таблицы. Вы хотите, чтобы она закрывалась/пряталась или удалялась? Сокрытие делается легко на основе стилей (visibility: hidden или display:none). Но скорее всего Вы захотите удалить таблицу (проще создать новую при случае).
Для этого создаваемая таблица должна иметь свойство id, и кнопку/ссылку с крестиком, на клик по которой выполняется функция типа такой:
function hideTable(id)
{
var tbl = document.getElementById('t'+id);
if (!tbl) {alert('Нет такого элемента на странице!'); return false;}
span=document.getElementById("s"+id);
span.removeChild(tbl);
}
В функцию передается id элемента (т.е. значение items на момент его создания). Удаляется элемент путем вызова метода removeChild() родительского объекта, т.е. элемента span.
В приложении полный код получившейся страницы. Кстати, вместо div.insertBefore(), в которой почему-то указывался только один параметр (в итоге IE ошибку проглотил, а вот FireFox не смолчал), я использовал appendChild().
ЗЫ. В интернете полно статей по использованию DOM-модели, в приведенных ссылок, думаю, вполне достаточно для дальнейших самостоятельных экспериментов. Удачи!
Приложение:
Ответ отправил: Иван Сергеевич (статус: 4-ый класс)
Ответ отправлен: 14.03.2008, 11:56 Оценка за ответ: 5 Комментарий оценки: Спасибо огромное! Это именно то, что мне нужно. И пример дополнен как нужно и статейки клевые!