Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / DOM и добавление script внизу или вверху / 20 сообщений из 20, страница 1 из 1
20.09.2012, 09:24:53
    #37965048
buyboy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
всем привет

столкнулся в тем фактом, что если нужно работать с узлами DOM, то js-код нужно располагать в самом низу страницы = перед закрывающим тегом body.

типа доступ к узлам возможен тогда, когда браузер уже сформировал структуру DOM.

это так?

например, если этот
Код: javascript
1.
2.
3.
4.
 <script>
    var mydiv = document.getElementById('mydiv');
    mydiv.textContent = 'СНИЗУ новое содержание слоя';
  </script>

код разместить внизу, то тогда все гут

стоит его расположить внутри head - не срабатывает

получается, что скрипты работающие по DOM нужно цеплять внизу, а скрипты работающие по событиям или не обращающиеся к DOM - вверху?

нужен хелп!
...
Рейтинг: 0 / 0
20.09.2012, 09:36:09
    #37965074
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
типа доступ к узлам возможен тогда, когда браузер уже сформировал структуру DOM.

это так?Да.

В DOM есть событие onload, сигнализирующие об окончании формирования структуры. Привязавшись к нему, можно располагать в начале документа скрипты, работающие с DOM.
...
Рейтинг: 0 / 0
20.09.2012, 09:45:33
    #37965085
buyboy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
Antonariy,
то есть конструкция типа
Код: javascript
1.
 window.onload = function(){...здесь много кода..}

аналогична конструкции jQuery
Код: javascript
1.
jQuery(document).ready(function(){...здесь много кода...}

и является Function Expression ?
...
Рейтинг: 0 / 0
20.09.2012, 09:51:09
    #37965094
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
buyboyAntonariy,
то есть конструкция типа
Код: javascript
1.
 window.onload = function(){...здесь много кода..}

аналогична конструкции jQuery
Код: javascript
1.
jQuery(document).ready(function(){...здесь много кода...}


Да, но есть какие-то нюансы. Я редко пользовался родными событиями dom, так что не помню. Поищи здесь по onload.

buyboyи является Function Expression ?А тут не понял.

Кстати, у jquery есть более короткая запись:
Код: javascript
1.
$(function(){...здесь много кода...})
...
Рейтинг: 0 / 0
20.09.2012, 09:55:15
    #37965100
buyboy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
AntonariyА тут не понял.
ну типа есть два способа объявления функции: Function Declaration и Function Expression
Функции, объявленные как Function Declaration, создаются в момент входа в область видимости, а объявления Function Expression создают функцию, когда до них доходит выполнение.
запись такого вида =
Код: javascript
1.
2.
3.
var f = function(параметры) {
   // тело функции
}

это Function Expression
...
Рейтинг: 0 / 0
20.09.2012, 09:57:02
    #37965104
buyboy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
AntonariyКстати, у jquery есть более короткая запись:
Код: javascript
1.
$(function(){...здесь много кода...})


в jQuery лучше писать jQuery чем знак доллара = чтобы не путать с переменными php
...
Рейтинг: 0 / 0
20.09.2012, 10:10:25
    #37965132
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
В гробу я видал пых, буду писать доллар.
...
Рейтинг: 0 / 0
20.09.2012, 10:11:34
    #37965135
buyboy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
AntonariyВ гробу я видал пых, буду писать доллар. если не связан с пыхом - это правильно
...
Рейтинг: 0 / 0
20.09.2012, 10:12:40
    #37965138
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
AntonariyВ гробу я видал пых, буду писать доллар.
В гробу я видел жКвери. Буду писать доллар! :)
...
Рейтинг: 0 / 0
20.09.2012, 10:13:50
    #37965140
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
ShSergeAntonariyВ гробу я видал пых, буду писать доллар.
В гробу я видел жКвери. Буду писать доллар! :)В гробу я видал доллар. Все расчеты в рублях!
...
Рейтинг: 0 / 0
20.09.2012, 10:14:37
    #37965142
buyboy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
ShSergeВ гробу я видел жКвери. вот-вот! нэйтив js - рулит
ShSergeБуду писать доллар! :) доллар - это вообще хорошо
...
Рейтинг: 0 / 0
20.09.2012, 10:15:37
    #37965146
buyboy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
AntonariyВ гробу я видал доллар. Все расчеты в рублях! это да - доллар надо валить, чтобы амерам стало худо
...
Рейтинг: 0 / 0
20.09.2012, 10:20:52
    #37965153
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
ShSergeВ гробу я видел жКвери
Vanilla JS
...
Рейтинг: 0 / 0
20.09.2012, 10:21:34
    #37965157
st_st
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
buyboyто есть конструкция типа
Код: javascript
1.
 window.onload = function(){...здесь много кода..}

аналогична конструкции jQuery
Код: javascript
1.
jQuery(document).ready(function(){...здесь много кода...}

и является Function Expression ?

window.onload - срабатывает после загрузки всей страницы (включая рисунки и прочее).
$(document).ready - срабатывает после загрузки html и построения DOM (намного быстрее, чем onload).
...
Рейтинг: 0 / 0
20.09.2012, 10:31:50
    #37965176
buyboy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
st_stwindow.onload - срабатывает после загрузки всей страницы (включая рисунки и прочее).
$(document).ready - срабатывает после загрузки html и построения DOM (намного быстрее, чем onload).
а document.onload = есть такое ?
...
Рейтинг: 0 / 0
20.09.2012, 10:34:34
    #37965183
buyboy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
Ex_Soft Vanilla JS как-то громоздко выглядит ванилловский код =
Код: javascript
1.
2.
3.
var s = document.getElementById('thing').style;
s.opacity = 1;
(function(){(s.opacity-=.1)<0?s.display="none": setTimeout(arguments.callee,40)})();
...
Рейтинг: 0 / 0
20.09.2012, 10:45:49
    #37965194
buyboy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
а если пойти таким путем ? =
Код: javascript
1.
  <script type="text/javascript" defer src="script.js"></script>


атрибут defer - для IE, а чтобы работало в FF = вынесем скрипт в отдельный файл и загрузим через src
правда в опере - не отработало...
...
Рейтинг: 0 / 0
20.09.2012, 11:42:16
    #37965325
buyboy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
нашел еще вот такое решение =
Код: javascript
1.
2.
3.
document.addEventListener("DOMContentLoaded", function() {
  // code…
});

здесь = http://desart-lab.ru/blog/practices-of-web-development/vanilla-javascript-jquery/
...
Рейтинг: 0 / 0
20.09.2012, 12:04:37
    #37965370
st_st
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
buyboyнашел еще вот такое решение =
Код: javascript
1.
2.
3.
document.addEventListener("DOMContentLoaded", function() {
  // code…
});



Для велосипеда можно использовать это .
...
Рейтинг: 0 / 0
20.09.2012, 12:11:28
    #37965387
buyboy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DOM и добавление script внизу или вверху
st_stДля велосипеда можно использовать это.уже видел этот текст, только тут = http://xhtml.ru/2006/06/21/onload/
p.s. кому велосипед - а кому неизвестное средство передвижения :)
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / DOM и добавление script внизу или вверху / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]