Javascript 变量后-=属性
如何在animate jQuery中的-=属性之后插入变量Javascript 变量后-=属性,javascript,jquery,Javascript,Jquery,如何在animate jQuery中的-=属性之后插入变量 var slideObject = $('.object').width(); $('.next').on('click', function(){ event.preventDefault(); //See -=slideObject $(slideContainer).animate({ marginLeft: -=slideObject}, 500); }); 控制台中的错误: 未捕获的语法错误:意外
var slideObject = $('.object').width();
$('.next').on('click', function(){
event.preventDefault();
//See -=slideObject
$(slideContainer).animate({ marginLeft: -=slideObject}, 500);
});
控制台中的错误:
未捕获的语法错误:意外标记-=
您没有正确使用事件:
$('.next').on('click', function( event ){ // << pass as argument
查看我们作为对象文本传递给.animate()
方法的参数:
var obj = {
marginLeft : 200, // Valid (Number)
marginRight : "100", // Valid (String)
marginTop : topValue, // Valid (Variable)
marginBottom : "100px" // Valid (String)
}
(是的,完全正确,您可以将上述内容用作$(slideContainer).动画(obj,500);
)
其中,在本例中:
var obj = {
marginLeft : -=200, // Unexpected Token Error
marginRight : "-=100" // Valid (String)
}
因此jQuery通常期望是一个有效的对象。通常是字符串值,如“200px”
为了让我们的生活更轻松,它允许我们使用一个数值,比如:
200
,它将在内部使用px
作为默认值转换为字符串:“200px”
它允许我们在动画对象内部传递一个变量,如
{marginLeft:margVal}
,但-=margVal
不再是有效的对象属性值,而是意外的标记-=。如果将其转换为将运算符与变量连接在一起的字符串,jQuery将看到“-=200”
一个有效字符串
另外请注意,如果您的
slideContainer
已经是一个jQuery对象,则无需将其再次包装到jQuery$()
中。是的,这不是有效的语法。它应该是一个字符串,因此,生成一个字符串。^'-='+slideObject
。。。在“-=”
var obj = {
marginLeft : -=200, // Unexpected Token Error
marginRight : "-=100" // Valid (String)
}