所以这是我的代码:
$('li a').click(function(){
if ( $('li').width() == '7%' ) {
$('li').animate({
width: '86%'
},300);
} else {
$('li').animate({
width: '7%'
},300);
}
});
百分比似乎没有用。如果我将它改为像素,它完全,但在百分比,它似乎有错误。
任何专业人士都可以帮助我解决这个问题吗?请!
=============================================== ===================================
好的,现在我把它改成css:
$('li a').click(function(){
if ( $('li').css('width') == '70px' ) {
$('li').animate({
width: '86%'
},300);
} else {
$('li').animate({
width: '70px'
},300);
}
});
但是当我将70px改为7%时,这是行不通的。为什么?
答案 0 :(得分:5)
.width()返回一个数字,而不是一个字符串,所以你必须自己计算百分比!
答案 1 :(得分:0)
浏览器将百分比转换为像素,因此对width的任何调用都将返回像素的整数值。
获取容器宽度并乘以0.07并与之进行比较。
答案 2 :(得分:0)
width()
将返回元素的物理大小(以像素为单位)。您需要根据元素父级的宽度计算其百分比宽度。这样的事可能适合你:
var the_percentage = ($('li').width() / $('li').parent().width()) * 100;
if(the_percentage == 7)
{
// Something here...
}
else
{
// Something else here...
}
或者,您可以执行此检查:
var li = $('li');
if((li.parent().width() * 0.07) == li.width()) {