Javascript jquery可调整大小的画布在a<;部门>;
我使用jquery()的resizeable函数来调整div的大小。 在这个div中,我有一个输入和一个画布,我想当我调整div的大小时,画布会跟随,我该怎么做 使用如下示例代码:Javascript jquery可调整大小的画布在a<;部门>;,javascript,jquery,html,canvas,Javascript,Jquery,Html,Canvas,我使用jquery()的resizeable函数来调整div的大小。 在这个div中,我有一个输入和一个画布,我想当我调整div的大小时,画布会跟随,我该怎么做 使用如下示例代码: <script> $(function() { $( "#resizable" ).resizable(); }); </script> <div id="resizable"> <input type="text" id=field
<script>
$(function() {
$( "#resizable" ).resizable();
});
</script>
<div id="resizable">
<input type="text" id=field />
<canvas id="mycanvas" height="400px"></canvas>
</div>
$(函数(){
$(“#可调整大小”).resizable();
});
谢谢您的帮助。将
画布的元素的高度和宽度设置为100%:
div#可调整大小{
高度:200px;/*初始高度*/
宽度:200px;/*初始宽度*/
}
div#可调整大小的画布{
身高:100%;
宽度:100%;
}
试试这个
$("#resizable").resizable({ stop: function(event, ui) {
$("#mycanvas").attr({ width: ui.size.width, height: ui.size.height });
// Adjusting the width or height attribute clears the canvas of
// its contents, so you are forced to redraw.
reDraw(this);
} });
如果使用CSS(如jQuery),则必须确保按比例调整大小,否则画布图形将因拉伸而扭曲。为此,请在应用.resizeable()时设置aspectRatio属性
此外,由于您还希望调整#myCanvas的大小,因此在应用.resizeable()时必须设置alsoResize属性
那么div
的其他子元素呢?它们将以100%的高度重叠,这不是最好的方式,因为它允许画布按不成比例调整大小,因此会出现扭曲。您可以将
的宽度和高度设置为100%吗?#mycanvas
是一个ID,意味着只有一个匹配的元素。无需在此处使用.each()
:$('#mycanvas').attr({…})代码>谢谢,但是你的函数在哪里重画?它告诉我它没有定义。这是自定义函数。整个画布绘制概念将在重画方法中出现。就像在您的项目中一样,肯定会有一个重画函数来呈现画布。
// make #resizable resizable
// let #resizable know to also resize #myCanvas when it resizes
// require that the resizing be proportional so the canvas drawing is not distorted
$("#resizable").resizable({
alsoResize: "#myCanvas",
aspectRation:true
});
$("#myCanvas").resizable();