jQuery:一个特殊的参数

时间:2012-05-08 05:10:58

标签: jquery arguments

我知道当我想传递属性作为参数时我可以使用[x]但是可以通过

一个由两个属性和<{strong>之间的:组成的参数?

function boson(w,z){
   $(w).stop().animate({
        z
    },{
        duration:2000
    })


}

    boson(".class","Left:'100%'")

当我离开z时,我收到语法错误。

3 个答案:

答案 0 :(得分:2)

为什么不传递整个对象?

function boson(w,z){
   var defaultProps = {duration:2000};
   var props = $.extend(defaultProps, z);
   $(w).stop().animate(props);
}

boson(".class", {left:'100%'});

http://api.jquery.com/jQuery.extend/

这样,如果您决定稍后添加多个属性,而不必更改整个函数,则会更容易:)

答案 1 :(得分:0)

你将什么格式传递给animatie()?传递到{}中的动画的格式总是像{name:value}。而“Left:100%”只是一个字符串。这意味着你只是将一个值传递给它。

答案 2 :(得分:0)

你想要将第二个参数作为一个对象传递,而不是像你在那里那样传递一个字符串。

boson( ".class", { "Left" : "100%" } )