我正在学习JS目前有一本js书。 翻转效果的例子让我,所以我需要一些帮助。
我在Flickr.com上传了快照。网址为:http://www.flickr.com/photos/58745632@N05/5389380030/
快照的左侧是页面,快照的右侧是javascript代码。 我的问题是我可以将红色框中的内容更改为绿色框中的代码。 如果可以的话,作者为什么还要添加这行“thisLink.imgToChange = thisImage”? “thisLink.imgToChange”和“thisImage”之间的关系是什么? 它们是相同的还是相同的? 有人可以帮我解释一下吗? 非常感谢你。
答案 0 :(得分:0)
thisImage
是对图像对象的引用。它作为变量传递给函数。
图像对象具有源(.src),。width等属性。高度等。
thisLink
也是一个对象,它也可以有适当的对象。因此,thisLink.imgToChange = thisImage
将“imgToChange”设置为输入函数的图像。 imgToChange
是程序员选择的完全任意属性。它被用来存储以后使用的一些数据。
所有这些代码都展示了进行翻转的“艰难方式”。必须反复键入(或甚至使用)“document.getElementById”所有这一切都是一种痛苦。大多数情况下,我们依靠脚本来自动执行这些操作。
框架,基本上是你在这里工作的代码类型的优化版本,是为了处理肮脏的工作而开发的。到目前为止,最流行的框架是jQuery。
使用jQuery做同样的事情可以在一行代码中完成。
以another posting为例。
答案 1 :(得分:0)
简短回答:
.imgToChange
和thisImg
指的是同一个地方。 .imgToChange
被添加为属性,因此以后很容易使用,就像在onmouseout
函数中一样。
更新
关于你的评论:它不会以任何方式工作(可能)。
由于多次调用setupRollover()
,因此变量thisImage
每次调用时都会指向不同的图像节点。绿色框中的代码仅适用于最新的thisImage
。
红色框使用this
,因为这意味着“触发事件的对象”。红色框设置每个对象以引用适当的图像。然后,当this
被鼠标悬停时,会更改正确的图像。
自己尝试一下,看起来比解释更容易。
答案 2 :(得分:0)
鉴于这直接来自 JavaScript&用于Web的Ajax:Visual QuickStart Guide,第7版 1 ,您在第96-97页的(逐行)解释中遇到了什么问题?
1 由我共同撰写,顺便说一句。