Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Нубские вопросы по javascript (https://javascript.ru/forum/events/24327-nubskie-voprosy-po-javascript.html)

simple 26.12.2011 12:49

Нубские вопросы по javascript
 
Всем привет, ответе кого не затруднит на несколько вопросов, плиз...

1. Например есть класс CSS:
.example 
{
         background-image:url([url]http://server/img.png);[/url]
}

Например он вешается на событие ну или просто присутствует в тегах html, вопрос в чем, браузер постоянно будет дергать с сервера эту картинку при наступление событие или же он один раз ее загрузит и далее будет доставать ее из кеша?

2. Видел в некоторых проектах что люди там загрузку картинок делают матрицей, например для иконок, которые равное по размеру и чтобы не дергать сервер всякий раз они делают так:
как потом эту матрицу из иконок в браузере разобрать, чтоб каждая иконка была например в своем объекте.

3. Встречал в скриптах такое:
function example(event,object){
event = event || window.event; // Зачем так пишут? у меня в Chrome прекрасно работает и без этого, или это такой кроссбраузерный способ?
. . .
};


4. Также встречал и такое:
function example(event,object){
var element = object.getElementById('table');
element.status=true; // element ведь это переменная, а тут уже она становиться объектом? правильно ли это?
. . .
};


Или вот такой вариант:

. . .
<div onclick="example(event,this);"></div>
. . . 
function example(event,object){
object.status=true; // ???
. . .
}


Вот собственно все, что меня пока интересует и ответы на которые я не смог найти с помощью поиска, подскажите плиз :help:

nerv_ 26.12.2011 13:02

Нубские ответы :D

3. похоже на кросс-браузерный способ

4. не берусь утверждать, но мне кажется не хватает обращения к конкретному элементу. Так ли это на самом деле, скажет отладчик или старожилы форума :)
function example(event,object){
var element = object.getElementById('table')[0]; // <-- например так
element.status=true; // element ведь это переменная, а тут уже она становиться объектом? правильно ли это?
. . .
};

B@rmaley.e><e 26.12.2011 13:02

Цитата:

Сообщение от simple
как потом эту матрицу из иконок в браузере разобрать, чтоб каждая иконка была например в своем объекте.

http://webo.in/articles/habrahabr/08...t-css-sprites/
Цитата:

Сообщение от simple
// Зачем так пишут? у меня в Chrome прекрасно работает и без этого, или это такой кроссбраузерный способ?

А в каком-нибудь IE6 тоже прекрасно работает без этого?
Цитата:

Сообщение от simple
element ведь это переменная, а тут уже она становиться объектом? правильно ли это?

В JS всё (ну почти) является объектов.
Цитата:

Сообщение от simple
object.getElementById

А это вообще некорректно. Если только object не является document'ом.
Цитата:

Сообщение от nerv_
object.getElementById('table')[0]

getElementById возвращает сам элемент, а не массив из них.

Nekromancer 26.12.2011 13:15

B@rmaley.e><e,
А что в JS не объект?)

simple 26.12.2011 13:18

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 146147)
В JS всё (ну почти) является объектов.

Значит ли это что данный вид записи является правильными?
т.е можно объявить переменную а потом присваивать ей свойства

А это вообще некорректно. Если только object не является document'ом.

да document там, перепутал в торопях когда писал...

За ссылку спасибо, буду разбираться. :thanks:

ЗЫ по поводу 1-го вопроса кто что скажет или это на столько нубский вопрос
что на него нет ответа? :D

Nekromancer 26.12.2011 13:24

simple,
из кеша.

nerv_ 26.12.2011 13:25

Цитата:

Сообщение от B@rmaley.e><e
getElementById возвращает сам элемент, а не массив из них.

Спасибо, что поправили) Зарапортовался) Так и есть :)

B@rmaley.e><e 26.12.2011 13:33

Nekromancer, undefined, null и примитивы (но они оборачиваются в объекты)
Цитата:

Сообщение от simple
по поводу 1-го вопроса кто что скажет или это на столько нубский вопрос

В первом вопросе нет ни строчки JS кода. Как связано определение css класса с JS'ом и что Вы с ним делаете — из написанного в первом сообщении неясно.

Nekromancer 26.12.2011 13:35

B@rmaley.e><e,
null кстати тоже объект, что то типо freez всегда :) А undefined да, вы правы.

B@rmaley.e><e 26.12.2011 13:38

Цитата:

Сообщение от Nekromancer
null кстати тоже объект

Ну вызовите методы какие-нибудь :-)
var a = null;
alert('Success! ' + a.toString())


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