Вебмастеру

 
 
18

jquery

  • Категория: html
ДОброго времени суток вот наш код
-------------------
<script type="text/javas?1?ript" src="../js/jquery.js"></script>
<script type="text/javas?1?ript">
$(document).ready(function( ) {
$('table.striped tr:even').addClass('even');
$('table.striped tbody tr').mouseover(function() {
$(this).addClass('highlight');
$(this).css('cursor','pointer');
}).mouseout(function() {
$(this).removeClass('highlight');
});
});
</script>
---------------------------------------
Итак что я не врубаю ну практически всё за исключением что конструкция $('елемент') являеться обращением к конкретному элементу css тогда вот это что
$(document)....Дальще что я понимаю что mouseover,.mouseout это события.
function( ) я вообще нафиг не понимаю что за хр...Просьба обьяснить всё по полочкам затратить не большой промежуток своего времени.Заранне буду благодарен.Большая просьба не писать одноклеточным созданиям,педагогам программистам которые хотят наживится на моём обучение,начинающим незнайкам и всякой нечести.ДА и ещё с книги откуда я взял это очень не понятно всё обьясняют вот даже подумываю что зря выкинул деньги на неё.
Полный архив штмл страницы с цсс и картинками +JS выложу тут http :// files . mail . ru/Y5ZWVD открывайте каталог chapter06 файл complete_6.1.html.В адрессе лишние пробелы
 
 
1

Рустам

  • группа: Гости
function() создает обработчик события
 
 
2

Алексей

  • группа: Гости
$(document).ready(function( ){ [....]}) - означает что [....] выполниться когда объект DOM будет готов (хтмл подгружен а картинки например нет)

$('table.striped tr:even').addClass('even'); - каждому четному тегу tr в таблицах с классом "striped" добавляем класс "even"

$('table.striped tbody tr').mouseover(function() {
$(this).addClass('highlight');
$(this).css('cursor','pointer');
}).mouseout(function() {
$(this).removeClass('highlight');
}); - - на каждый tr в tbody таблице с классом "striped" навешиваем два обработчика событий, первый срабатывает при наведение мышкой, второй когда курсор уводим с эллемента. В первом случае tr будет добавлен класс "highlight", и курсор над ним будет "pointer". Во втором случае мы убираем "highlight". Таким образом я думаю там просто возникает реакция на наведение.
Если что то непонятно пишите...
 
 
3

Евгений

  • группа: Гости
Погоди давай сначала мы обращаемся к $(document) и говорим ему делать ready (),тоесть выполнять ready с аргументом() после того как document прочитан?

ТОгда вопрос обращяться к элементу согласно Джи квери мы можем таким макаром $(' '),а здесь $(document) без скобок?Или как?
 
 
4

Рост

  • группа: Гости
$(document).ready(function( ) {
// Здесь код
});

Эта конструкция означает, что когда DOM будет готов, выполнить такой-то код
 
 
5

Алексей

  • группа: Гости
ready - обработчик события "готовности", и он навешиваеться на document, значит он сработает когда document будет готов.
В качестве параметра мы можем указывать много что, в том числе и xpath выражение, и css выражение, и элемент (например document.getElementById("blablabla")) и функцию, и хтмл
 
 
6

Евгений

  • группа: Гости
Обращяться к элементу согласно Джи квери мы можем таким макаром $(' '),а здесь $(document) без скобок?Как прокоментируете?
 
 
7

Рост

  • группа: Гости
Никаких кавычек в $(document) не должно быть. И если тебе что-то не нравится пиши создателям фреймворка
 
 
8

Рустам

  • группа: Гости
document - это объект, а не строка, поэтому без кавычек
 
 
9

Алексей

  • группа: Гости
document - это изначально объект, поэтому он изначально идет без скобок, как и document.getElementById("blabla") тоже объект
никто не мешает написать $(document.getElementById("blabla")) что в свою очередь равно $("#blabla"), а также $(document.body) = $("body"). Теперь понятно?
 
 
10

Рост

  • группа: Гости
document - это обьект, как писали выше Алексей и Tidal Wave.

Тип "обьект", а не "строка". Когда ты передаешь в функцию число ты скобки не пишешь, так само и с обьектами
 
 
11

Евгений

  • группа: Гости
Алексей Spiridon Спиридонов
----------------------------
Так теперь становится интересней если обьект-синтаксис такой - $(обьект) ,если это элемент то синтаксис такой - $('элемент html') верно Алексей?
 
 
12

Алексей

  • группа: Гости
в скобках может быть указан как html так и другое, например выражение xpath, все зависит от того что вы хотите получить.
$('элемент html') - служит для создания хтмл "на лету" и добавления его куда то например $("<br />").appendTo("#elem") - добавит br в теги елемента id которого равно elem
 
 
13

Евгений

  • группа: Гости
А про $(обьект) вы не сказали значит так по синтаксису Джи квери мы обращяемся к обьектам?
 
 
14

Алексей

  • группа: Гости
Евгений, прочитайте например (http://http://www.rsdn.ru/article/inet/jQuery.xml - легко объясняется по русски, или же http://docs.jquery.com - оф. документация) если чего не поймете, то с радостью отвечу на ваши вопросы, а сейчас мой раб. день подошел к концу и я пошел пить пиво
 
 
15

Игорь

  • группа: Гости
Евгений Салиев. не трать время других. читай документацию.

http://docs.jquery.com/Core
jQuery Core

варианта аргументов для функций $ и jQuery

строка селектором
$( 'div a')
Возвращает набор элементов обернутый в jQuery

html
$( '<a href="#">aaa</a>')
Создает элемент и оборачивает его в jQuery

Элемент
$(document)
Оборачивает элемент в jQuery

Функция
$(function() {
// здесь код
})

Сокращенная запись для $(document).ready(function() {
//здесь код
})

что значит обернутый в jQuery?
объект(ы) кладут в расширенный массив, у которого есть все методы jQuery
оригинальные объект(ы) доступны как элементы через метод [] ($('div a')[12] - 12ая ссылка в div)
 
 
16

Игорь

  • группа: Гости
относительно "нужны кавычки или нет?"
кавычки не нужны.
jQuery подумает что это селектор, но тэга document не найдет и вернет пустой массив и функция, которую вы повесите на загрузку никогда не выполнится. ошибки видно не будет
 
 
17

Евгений

  • группа: Гости
Алексей спасибо...Кстати пивоо вредно....
 
 
18

Вадим

  • группа: Гости
млин а не бывает в отладчике исходники запустить (firefox+firebug)? если уж лень доки читать
jQuery является одним из самых простых фреймворков, но без знания jScript спецификации вопросы типа - почему в параметр передается ф-я будут возникать всегда, и, в принципе, все правильно вам ответили
можно делать $('document') - только тогда сработает селектор, т.е. дольше до объекта будет добираться, сокращенная форма инициализации:
$(function() { ... } );

и вы определитесь вам принципиально ответ получить или посраццо с человеком который вам чем-то не понравился...
 
 
Регистрация

Популярные статьи

» Mozilla Firefox: помощь и взаимоподдержка. Спрашиваем, ...
» Вопросы от новичков...
» перешли ли вы 100% на линукс без установленной параллел ...
» Ваши любимые плагины и дополнения
» Ответы на вопросы по PHP
» Какие CMS ВЫ предпочитаете - (плюсы и минусы)
» FAQ: вопросы и ответы
» Вопросы и консультации
» Другие браузеры (голосование!)
» Зарплата PHP программиста