使用jquery设置宽度计算

使用jquery设置宽度计算,jquery,css,Jquery,Css,有人能帮我用jquery正确添加计算宽度吗?或者在jquery中有比应用css3计算宽度更好的动态宽度选项 var calc = "calc(100% - 270px)"; $(".two").focus(function () { $('.one').animate({ width: "85px" }); $(this).animate({ "width": calc + "px" }); }); 如果你需要更多的描述,请告诉我。谢谢~在javascript中,calc(

有人能帮我用jquery正确添加计算宽度吗?或者在jquery中有比应用css3计算宽度更好的动态宽度选项

var calc = "calc(100% - 270px)";

$(".two").focus(function () {
    $('.one').animate({ width: "85px" });
    $(this).animate({ "width": calc + "px" });
});

如果你需要更多的描述,请告诉我。谢谢~

在javascript
中,calc(100%-270px)
大致等于得到父元素的宽度(100%)并减去270

$(this).parent().width() - 270;
这就留给你了

$(".two").focus(function () {
    var w = $(this).parent().width() - 270;

    $('.one').animate({ width: "85px" });
    $(this).animate({ "width": w });
});

为了让它对所有的人都起作用,你可以

var inputs = $(".one, .two, .three");

inputs.on('focus', function () {
    var w = $(this).parent().width() - 270;

    inputs.not(this).animate({ width: "85px" });
    $(this).animate({ "width": w });
});

您无法设置calc动画,只能设置常规css数值的动画。你到底想在这里做什么?
calc
是一个css属性。您不应该在javascript中执行
calc+“px”
,只需将其保留为
width:calc
。而且我认为它也不能与
动画
一起工作。这将是移动设备上的一个表单,因此我希望宽度根据容器宽度/移动设备大小而动态变化。当用户单击每个输入时,所有其他输入都会变小到一个点,选定的输入会变大/填满剩余的空间。从技术上讲,100%是指父元素的100%,这非常有意义。谢谢,这正是我需要的!!