Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Зацените (https://javascript.ru/forum/project/1542-zacenite.html)

Бухалыч 10.08.2008 11:14

Зацените
 
Интерактивная Таблица Менделеева
Буду рад критике, комментариям, предложениям

Dmitry A. Soshnikov 10.08.2008 13:12

Бухалыч, на вид - очень здорово, красиво и информативно. По поводу кода - часто встречаются конструкции, которые на сегодняшний день лучше не использовать (например, часто видно - document.write(...), обращение к формам по именам (document.myf.blabla) вместо id'шников и через объект forms (document.forms['myf'].elements['blabla']) и т.д.)

Бухалыч 10.08.2008 13:30

Дмитрий, спасибо за развернутый ответ!

ZoNT 10.08.2008 14:04

div id="grshb2" class="groupsh10" style="width: 50px; height: 20px; z-index: 2; font-size: 10pt; font-weight: bold; color: rgb(102, 102, 102);">
</div>

Если есть класс, зачем писать инлайн-стиль???



<center>V</center>
Куча лишних тегов!!! Диву (в классе) ставишь text-align:center; и всё.



var lp = j*50-(-30);
var lpb = j*50-(-22);

что за извращения? + писать уже не модно?


Повторяющиеся массивы значений можно вынести в глобальный контекст и обращаться к ним когда надо...

Kolyaj 10.08.2008 15:54

Dmitry A. Soshnikov, я понимаю, чем вам не угодили document.name.foo, с натяжкой могу понять, чем не угодила коллекция document.forms, но document.write вам что сделал?

Андрей Параничев 10.08.2008 16:01

Бухалыч,
Выглядит отлично. Конечно есть замечания к коду, на в данном конкретном случае их можно опустить. Если вы хотели бы и дальше заниматься JavaScript, то я бы посоветовал вам начать с изучения DOM, потому что, действительно, document.write() - устаревший подход.

Kolyaj 10.08.2008 16:32

Андрей Параничев, что вы понимаете под словом "устаревший"? Вот я понимаю document.all устаревший, т.к. ие его до сих пор поддерживает только из-за обратной совместимости (а Опера - потому что своего мнения не имеет, и за всеми все повторяет). А document.write почему устаревший? Ответьте мне уже наконец кто-нибудь.

ZoNT 10.08.2008 16:42

document.write используется в момент загрузки документа. Если документ загружен и закрыт на запись, то document.write откроет его, ОЧИСТИВ всё содержимое (фактически затерев).

Посредством document.write можно вписать что угодно, но он медленно работает (желательно предварительно всё сохранить в строку и потом использовать document.write один раз с этой строкой).

Таким методом нельзя получить сыылку на DOM элемент, добавляемый в документ.

Если вы используете document.write во фрейм созданный из скрипта, то не факт, что он будет писать инфу туда, куда вы думаете: document.write('<scr'+'ipt src="111.js"></scr'+'ipt>') запишет его в хэд фрейма, не создавая боди. Если этот скрипт (111.js) содержит document.write, то запись продолжится в head, что окажется неверным...

Андрей Параничев 10.08.2008 16:49

Kolyaj,
Многие используют document.write не в том контексте, для которого он сделан, а именно, используют вызовы document.write уже после события load документа, хотя метод document.write был сделан для вывода строк во время рендеринга документа.

Для унификации подходов по добавлению и изменению элементов страницы лучше повсеместно использовать DOM, а не связку document.write() + DOM. Тем более, что использование только DOM в некоторых случаях ускорит выполнение скрипта на странице.

Кроме всего прочего, document.write несовместим с XML, поэтому он не работает в документах, сверстанных по спецификации XHTML. Тем не менее, вопреки тому что я думал, document.write не является не рекомендованным W3C методом. Так что "устаревший" на счет него, наверно, неправильно говорить.

Dmitry A. Soshnikov 10.08.2008 17:15

Цитата:

Сообщение от Kolyaj
с натяжкой могу понять, чем не угодила коллекция document.forms

читайте внимательней - я как раз говорил обратное (наверное, предложение не совсем удачно сформировано). А что за "натяжки" еще (мне, действительно, интересно)?

Цитата:

Сообщение от Kolyaj
но document.write вам что сделал?

почему мне?
http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite
http://www.w3.org/TR/WCAG20-TECHS/SCR21.html (description)
http://www.w3.org/TR/REC-html40/inte....html#h-18.2.3 (последний note)

ну и это - http://www.w3.org/WAI/GL/WCAG20/WD-W...008/#doc-write

Я его не отрицаю, просто не использую.

А теперь вы скажите, чем вам он угодил и что там за "натяжки"?

Цитата:

Сообщение от Андрей Параничев
Тем не менее, вопреки тому что я думал, document.write не является не рекомендованным W3C методом. Так что "устаревший" на счет него, наверно, неправильно говорить

http://www.w3.org/WAI/GL/WCAG20/WD-W...008/#doc-write - deprecated examples


Часовой пояс GMT +3, время: 02:52.