0

我目前正在用一本 js 书学习 JS。一个翻转效果示例得到了我,所以我需要一些帮助。

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

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

4

3 回答 3

0

鉴于这是直接出自JavaScript & Ajax for the Web: Visual QuickStart Guide, 7th edition 1,那么您在第 96-97 页的(逐行)解释中特别遇到了什么问题?

1由我合写,顺便说一句。

于 2011-03-08T02:57:36.783 回答
0

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

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

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

所有这些代码都演示了进行翻转的“艰难方式”。不得不一遍又一遍地输入(甚至使用)“document.getElementById”所有这些都是一种痛苦。大多数时候,我们依靠脚本来自动化这些事情。

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

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

这是另一个帖子作为示例。

于 2011-01-26T04:20:25.300 回答
0

简短的回答:

.imgToChangethisImg参考同一个地方。.imgToChange被添加为属性,以便以后使用,就像在onmouseout函数中一样。

更新

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

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

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

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

于 2011-01-26T04:51:13.743 回答