javascript翻转效果问题

时间:2011-01-26 03:58:24

标签: javascript rollover

我正在学习JS目前有一本js书。 翻转效果的例子让我,所以我需要一些帮助。

我在Flickr.com上传了快照。网址为:http://www.flickr.com/photos/58745632@N05/5389380030/

快照的左侧是页面,快照的右侧是javascript代码。 我的问题是我可以将红色框中的内容更改为绿色框中的代码。 如果可以的话,作者为什么还要添加这行“thisLink.imgToChange = thisImage”? “thisLink.imgToChange”“thisImage”之间的关系是什么? 它们是相同的还是相同的? 有人可以帮我解释一下吗? 非常感谢你。

3 个答案:

答案 0 :(得分:0)

thisImage是对图像对象的引用。它作为变量传递给函数。

图像对象具有源(.src),。width等属性。高度等。

thisLink也是一个对象,它也可以有适当的对象。因此,thisLink.imgToChange = thisImage将“imgToChange”设置为输入函数的图像。 imgToChange是程序员选择的完全任意属性。它被用来存储以后使用的一些数据。

所有这些代码都展示了进行翻转的“艰难方式”。必须反复键入(或甚至使用)“document.getElementById”所有这一切都是一种痛苦。大多数情况下,我们依靠脚本来自动执行这些操作。

框架,基本上是你在这里工作的代码类型的优化版本,是为了处理肮脏的工作而开发的。到目前为止,最流行的框架是jQuery

使用jQuery做同样的事情可以在一行代码中完成。

another posting为例。

答案 1 :(得分:0)

简短回答:

.imgToChangethisImg指的是同一个地方。 .imgToChange被添加为属性,因此以后很容易使用,就像在onmouseout函数中一样。

更新

关于你的评论:它不会以任何方式工作(可能)。

由于多次调用setupRollover(),因此变量thisImage每次调用时都会指向不同的图像节点。绿色框中的代码仅适用于最新的thisImage

红色框使用this,因为这意味着“触发事件的对象”。红色框设置每个对象以引用适当的图像。然后,当this被鼠标悬停时,会更改正确的图像。

自己尝试一下,看起来比解释更容易。

答案 2 :(得分:0)

鉴于这直接来自 JavaScript&用于Web的Ajax:Visual QuickStart Guide,第7版 1 ,您在第96-97页的(逐行)解释中遇到了什么问题?

1 由我共同撰写,顺便说一句。