我需要触发一个事件,只有当对象在左边的某个百分比时,使用.css(),所有这些都在jquery中。 到目前为止这是我的代码:
HTML:
<div id="midDiv"><img ..../></div>
脚本:
$(document).ready(function(){
$("#midDiv").click(function () {
if($('#midDiv').css('left') === '50%')
{
$("#midDiv").animate({
left: "+=70%"},
{ queue: false, duration: 900, easing:'swing' }
);
}
});
});
这显然不起作用,但如果我使用“px”代替%,它就有效。我想这是因为.css()返回一个字符串,但我想知道是否有办法用百分比来做。我也尝试过offset(),但它也以像素为单位返回了值。
答案 0 :(得分:1)
无法通过.css()
获得该百分比,您必须手动计算该百分比。
答案 1 :(得分:0)
这是因为.css返回实际值集,不以任何方式计算。
一种解决方案是向上遍历DOM树,直到找到具有位置的最近父级!= static,得到它的宽度并将元素偏移量除以该值。
由于浮点的性质,请务必使用增量。