вопрос о эффектах ролловера javascript - PullRequest
0 голосов
/ 26 января 2011

Я изучаю JS в настоящее время с книгой JS.Мне понравился пример эффекта ролловера, поэтому мне нужна помощь.

Я загружаю снимок на Flickr.com.URL: http://www.flickr.com/photos/58745632@N05/5389380030/

Левая сторона снимка - это страница, а правая часть снимка - это код JavaScript.У меня вопрос, могу ли я изменить содержимое в красном поле на коды в зеленом поле.Если я могу, почему автор пытается добавить эту строку "thisLink.imgToChange = thisImage"? И какова связь между "thisLink.imgToChange" и "thisImage"? Они одинаковые или одинаковые?Может ли кто-нибудь объяснить это для меня?Большое спасибо.

Ответы [ 3 ]

0 голосов
/ 26 января 2011

Краткий ответ:

.imgToChange и thisImg относятся к одному и тому же месту..imgToChange добавляется как свойство, поэтому его легко использовать позже, как в функции onmouseout.

ОБНОВЛЕНИЕ

По поводу вашего комментария: неработать в любом случае (вероятно).

Поскольку setupRollover() вызывается несколько раз, переменная thisImage будет указывать на другой узел изображения при каждом вызове.Код в зеленом поле будет применяться только к самому последнему thisImage.

. В красном поле используется this, поскольку это означает «объект, вызвавший событие».Красное поле устанавливает каждый объект для ссылки на соответствующее изображение.Затем, когда this наведен, правильное изображение изменяется.

Попробуйте сами, это легче увидеть, чем объяснить.

0 голосов
/ 08 марта 2011

Учитывая, что это прямо из JavaScript & Ajax для Интернета: Visual QuickStart Guide, 7-е издание 1 , с чем конкретно у вас возникают проблемы в (line- объяснение на стр. 96-97?

1 В соавторстве с мной, кстати.

0 голосов
/ 26 января 2011

thisImage - ссылка на объект изображения.Он передается в функцию в качестве переменной.

Объект изображения имеет такие свойства, как источник (.src), .width.высота и т. д.

thisLink также является объектом, и он также может иметь свойства.Итак, thisLink.imgToChange = thisImage устанавливает «imgToChange» для изображения, переданного в функцию.imgToChange - это совершенно произвольное свойство, выбранное программистом.Он используется для хранения некоторых данных, которые будут использованы позже.

Весь этот код демонстрирует «сложный способ» выполнения ролловера.Необходимость вводить (или даже использовать) «document.getElementById» снова и снова, все это - боль.Большую часть времени мы полагаемся на сценарии для автоматизации этих вещей.

Фреймворки, которые в основном являются оптимизированными версиями того типа кода, над которым вы здесь работаете, были разработаны для того, чтобы позаботиться о грязной работе.Самым популярным фреймворком на сегодняшний день является jQuery .

. С помощью jQuery можно сделать то же самое в одной строке кода.

Вот Еще один пример .

...