我之前发过这个帖子,但我想改进我的问题(我似乎无法在旧帖子中这样做)。
代码是:
$(document).ready(function()
{
var rot=$('#image3').rotate({maxAngle:25,minAngle:-55,
bind:
[
{"mouseover":function(){rot[0].rotateAnimation(85);}},
{"mouseout":function(){rot[0].rotateAnimation(-35);}}
]
});
});
它取自这里:http://wilq32.googlepages.com/wilq32.rollimage222,并且还有一个功能演示(动画图像旋转 - 页面上的第3个演示)。
我需要解释的是:
我知道有一个变量被声明 - “ rot ”,但我似乎无法理解宣言的结束......
使用变量时,它用作 rot [0] , [0] 代表什么?这是一个数组吗?
我从未见过像这样使用的 bind ,原始语法是
$(“selector”)。bind(type,[data],fn);
那是怎么回事?所有的逗号和 [] 是关于什么的?
谢谢!
答案 0 :(得分:4)
我认为其他人已经很好地解释了基本的句法问题......
就以下方面而言:
我最终想做的是 使用此脚本旋转图像“X”, 而点击“Y”元素。 怎么做(最好是 没有“绑定”)?
试试这个:
var x=$("#imagex"); //<-- image to be rotated
var y=$("#elemy"); //<-- element to be clicked
var angleOfRotation=45; //<-- angle of rotation
y.bind("click",function(){
x[0].rotateAnimation(angleOfRotation);
});
答案 1 :(得分:2)
声明以2到最后一个分号结束。捕获引用,并在执行传递的回调函数期间稍后使用。
rot
是一个jQuery对象,它不是一个数组,但可以像一个索引一样。
rot[0]
是第一个匹配选择器#image3
的DOM对象,即ID为image3的对象。
bind
不是函数绑定,而是传递给旋转的选项的一部分。
方括号[foo, bar]
表示foo和bar的文字数组。大括号{foo:“foo”,bar:“bar”}是一个具有属性foo和bar的文字对象。
答案 2 :(得分:1)
声明以第一个分号结束。 rot
被赋予rotate()
返回的值(在这种情况下,由于jQuery的method chaining syntax而与$('#image3')
的结果相同)。 rotate(
和下一个)
之间的所有内容都只是传递给rotate()
的参数。
是的,[0]
是数组访问权限。 rot[0]
指的是数组rot
中的第一个(“0th”)项。
此处,{ maxAngle:25, minAngle:-55, bind: ... }
是“对象文字”,即具有属性maxAngle
,minAngle
和bind
的对象的语法。如果您将此对象分配给变量myObject
(而不是仅将其作为参数传递给rotate()),则可以访问其属性,如myObject.maxAngle
,myObject.minAngle
和{{ 1}}。在这种情况下,myObject.bind
不是函数,它只是对象上属性的名称。
答案 3 :(得分:0)
好的,丢失的部分 - 这就是你如何使用上面的代码来触发另一个元素的旋转:
var itemYouWannaRotate = $("#imageToRotate").rotate(0);
$("#TriggerElement").click(function(){
itemYouWannaRotate[0].rotateAnimation(90);
});
谢谢你们,你们的所有答案都是一个很大的帮助。