2011-07-09 48 views
1

我只需要如果对象是在留有一定比例,使用的CSS(触发事件“左”),在jQuery的这一切。 到目前为止,这是我的代码:if语句的.css百分比

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(),但它也以像素为单位返回了值。

回答

1

有没有办法让与.css()这个比例,你不得不手动计算出百分比。

+0

但这样做,我应该得到的文档的宽度,对不对?我该怎么做?我尝试了类似的东西,它返回'无限'LoL对不起,我有点新jQuery和JavaScript。 – Alice

0

这是因为的CSS返回实际值设置,它不以任何方式进行计算。

One解决方案将是向上遍历DOM树,直到你发现有一个位置!=静态最接近的父母,得到它的宽度和划分元素与值的偏移量。

一定要使用,虽然由于增量浮动点的性质。

+0

和我可以得到的HTML文件的宽度? – Alice

+0

'$(document).innerWidth()':http://api.jquery.com/innerWidth/ –

+0

你刚刚救了我,谢谢! – Alice