可能的重复:
有人可以解释一下这段 jQuery 代码吗?

我之前已经发布过这个问题,但我想改进我的问题(而且我似乎无法在旧线程中做到这一点)。

代码是:

$(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, ,并且还有一个功能演示(动画图像旋转 - 页面上的第三个演示)。

我需要解释的是:

  1. 我知道有一个变量正在被声明 -”腐烂“,但我似乎无法理解声明在哪里结束......

  2. 当使用该变量时,它被用作 腐烂[0], 什么是 [0] 代表?这是一个数组吗?

  3. 我从未见过 绑定 像这样使用,原始语法是

    $("选择器").bind( type, [data], fn );

那到底是怎么回事呢?所有的逗号和是什么 [ ] 关于?

  1. 最终,我想做的是使用此脚本旋转图像“X”,同时单击“Y”元素。如何做到这一点(最好没有“绑定”)?

谢谢!

有帮助吗?

解决方案

我认为基本的语法问题已经被其他人解释得很好......

按照:

最终,我想做的是 使用此脚本旋转图像“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);
});

其他提示

声明以倒数第二个分号结束。该引用被捕获,并将在稍后执行传递的回调函数期间使用。

rot 是一个 jQuery 对象,它不是一个数组,但可以像数组一样进行索引。

rot[0] 是第一个与选择器匹配的 DOM 对象 #image3, , IE。ID 为 image3 的对象。

bind, 在这种情况下,不是函数绑定,而是传递给旋转的选项的一部分。

方括号 [foo, bar] 指示 foo 和 bar 的文字数组。大括号 { foo:“foo”,酒吧:"bar"} 是具有 foo 和 bar 属性的文字对象。

  1. 声明以第一个分号结束。 rot 被赋予的值是 rotate() 返回(在本例中,与以下结果相同) $('#image3'), ,由于 jQuery 的 方法链接语法)。之间的一切 rotate( 和下一个 ) 只是传递给的参数 rotate().

  2. 是的, [0] 是数组访问。 rot[0] 引用数组中的第一个(“第 0”)项 rot.

  3. 这里, { maxAngle:25, minAngle:-55, bind: ... } 是一个“对象文字”,即具有以下属性的对象的语法 maxAngle, minAngle, , 和 bind. 。如果您将此对象分配给变量 myObject (而不是仅仅将其作为参数传递给rotate()),然后您可以访问它的属性,例如 myObject.maxAngle, myObject.minAngle, , 和 myObject.bind. 。在这种情况下 bind 不是一个函数,它只是对象的属性名称。

好的,缺少的部分 - 这就是您如何使用上面的代码来触发另一个元素的旋转:

var itemYouWannaRotate = $("#imageToRotate").rotate(0);
$("#TriggerElement").click(function(){
    itemYouWannaRotate[0].rotateAnimation(90);
});

谢谢大家,你们的所有回答都有很大的帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top