Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何在固定宽度的div上设置div高度_Jquery_Css - Fatal编程技术网

Jquery 如何在固定宽度的div上设置div高度

Jquery 如何在固定宽度的div上设置div高度,jquery,css,Jquery,Css,我正在为一个网站编码,在那里我有一个固定宽度的div,它代表一个相框。 用户可以更改框架的宽度和高度值,使用Jquery,我想向他们展示框架的表示 framediv本身的宽度是固定的,因为在页面设计中它的空间有限。因此,唯一可以物理改变的尺寸是高度 例如,如果用户指定了300毫米的框架宽度和200毫米的高度,我必须在屏幕上表示。我正在努力得到一个准确的表示。 目前,我正在做以下工作: $(function() { $( "#artwork_height_input" ).change(fun

我正在为一个网站编码,在那里我有一个固定宽度的div,它代表一个相框。 用户可以更改框架的宽度和高度值,使用Jquery,我想向他们展示框架的表示

framediv本身的宽度是固定的,因为在页面设计中它的空间有限。因此,唯一可以物理改变的尺寸是高度

例如,如果用户指定了300毫米的框架宽度和200毫米的高度,我必须在屏幕上表示。我正在努力得到一个准确的表示。 目前,我正在做以下工作:

$(function() {
  $( "#artwork_height_input" ).change(function() {
    //Work out the new proportional height (the width of the div is fixed, so only the height can be altered)
    var divWidth = $( "#artwork_width_input" ).val();
    var divHeight = $( "#artwork_height_input" ).val();
    var ratio = divWidth / divHeight;
    var newDivHeight = divHeight / ratio;
    alert(newDivHeight);
    $("#scaledimage").height(newDivHeight-2);
  });
});
问题是,这会导致新的divheight为133.33,我知道这是不对的。 有人能帮我解决这个问题吗?我相信这比Jquery更像是数学,但任何帮助都将不胜感激


谢谢

我想你的数学有问题

你说你的div有固定的宽度,所以我们需要确定他的高度

用户指定的帧有一定的比率,我们需要这个等式来保持

divheight/DivWidth=FrameHeight/FrameWidth

$(function() {
  $( "#artwork_height_input" ).change(function() {
    //Work out the new proportional height (the width of the div is fixed, so only the height can be altered)
    var Framewidth= $("#artwork_width_input").val();
    var FrameHeight= $("#artwork_height_input").val();
    var DivWidth = $("#scaledimage").width();
    var DivHeight = DivWidth*(FrameHeight/Framewidth);
    //alert(DivHeight);
    $("#scaledimage").height(DivHeight);//-2 for what?
  });
});
因此,
DivHeight=DivWidth*(FrameHeight/Framewidth)

或者:更短的方式:(但更难理解)


为什么jquery中有
标记?我删除了

标记,因为我认为它们只是为了在这里发布代码。Kasper,没有-我只是将它们放在StackOverflow中,以便在屏幕上格式化。谢谢anOG你的问题到底是什么?如何仅获取
整数
-值?这是不可能的,因为除法有时会导致浮点数。如果需要整数值,请使用Math.ceil()或Math.floor(),谢谢avrahamcool,这正是我想要的!完美的
$(function() {
    $( "#artwork_height_input" ).change(function() {
    $("#scaledimage").height($("#scaledimage").width()*$("#artwork_width_input").val()/$("#artwork_height_input").val());});
});