编辑以使问题更简洁。
我可以使用.css()方法中的outerWidth()值来将“#item”的位置偏移宽度的两倍。
例如:
$("#item").css("left", - (2 x outerwidth(this)));
接受的答案很大程度上是指我提出的原始(更复杂和更广泛)的问题,包括我正在开发的更广泛的功能。
elem.css('left', $(window).width()+'px');
这适当地移动了元素,而不依赖于outerWidth()值。
答案 0 :(得分:1)
试试这个:
$("#item").css("left", - (2 * $('#item').outerWidth()));
outerWidth()
是一个jQuery方法,为了使用它,你首先应该创建一个jQuery对象(通过选择一个元素)。请注意,在用于乘法的JavaScript中,您应该使用*
运算符而不是x
。
答案 1 :(得分:1)
这样的事情:
var elem = $("#item");
// 1. animate to left
elem.animate({'left': -(2 * elem.outerWidth())+'px'}, function() {
// 2. move to outside right border
elem.css('left', $(window).width()+'px');
// 3. animate to starting position
elem.animate({'left': '0px'});
});
答案 2 :(得分:0)
来自jQuery .css()
文档:
从jQuery 1.6开始,.css()接受类似于.animate()的相对值。相对值是以+ =或 - =开头的字符串,用于递增或递减当前值。例如,如果元素的填充左边是10px,则.css(“padding-left”,“+ = 15”)将导致25px的左边填充。
从那以后,我想你想要的是:
$("#item").css("left", "-=" + (2 x outerwidth(this)));
注意:我假设outerwidth
是上述代码行中的有效函数(可能是您自己编写的)。
答案 3 :(得分:0)
你在找这个吗?
$("#item").css("left", function(i, oldLeft){
return -2*$(this).outerWidth();
});
答案 4 :(得分:0)
$("#item").css("left", - (2 * $("#item").outerwidth()));
应该做的伎俩