Javascript HTML5画布中设备间图像位置的变化
我有一个带有滚动条的背景图像(城市图像),在该图像上我放置了一些小图像(就像城市图像上的炸弹图像)。我有画布的宽度和高度取决于这些变量,我把炸弹图像放在城市图像上。在430*300设备中,当我将炸弹图像放置在can.width/2和can.height/2时,图像将居中,但当我尝试在大屏幕手机上测试时,炸弹图像的位置正在改变。我需要在所有设备的相同位置放置炸弹图像。当我放大时,位置也在变化。任何人都可以帮我解决这个问题 这是我的密码Javascript HTML5画布中设备间图像位置的变化,javascript,css,canvas,cordova,html5-canvas,Javascript,Css,Canvas,Cordova,Html5 Canvas,我有一个带有滚动条的背景图像(城市图像),在该图像上我放置了一些小图像(就像城市图像上的炸弹图像)。我有画布的宽度和高度取决于这些变量,我把炸弹图像放在城市图像上。在430*300设备中,当我将炸弹图像放置在can.width/2和can.height/2时,图像将居中,但当我尝试在大屏幕手机上测试时,炸弹图像的位置正在改变。我需要在所有设备的相同位置放置炸弹图像。当我放大时,位置也在变化。任何人都可以帮我解决这个问题 这是我的密码 function smallBombImg(){ docu
function smallBombImg(){
document.getElementById('carImg1').style.top = can.width/2 +"px";
document.getElementById('carImg1').style.left = can.height/2 +"px";
//document.getElementById('carImg1').style.background-attachment = "fixed";
document.getElementById('carImg1').style.display = "block";
document.getElementById('carImg1').src = 'img/bomb1.png';
}
HTML代码在这里
<body>
<div id="container">
<canvas id="can"></canvas>
</div>
<div id="btn">
<input type="image" id="zoomIn" src="img/up.png" onclick="zoomIn()" />
<input type="image" id="zoomOut" src="img/down.png"
onclick="zoomOut()" />
</div>
<div id="score">
<p id="scoreCount">
<b></b>
</p>
</div>
<div>
<img alt="simple1" id="carImg1" style="position: absolute; display: none;" />
</div>
</body>
我得简短一点,很抱歉我要迟到了 使用jQuery:
var windowEventTimeoutEnded;
$(window).resize(function() {
clearTimeout(windowEventTimeoutEnded);
$(window).height(); // gets the height of the window
$(window).width(); // gets the width of the window
// This ensures the below does not trigger until the resize event is finished
windowEventTimeoutEnded = setTimeout(function() {
// Perform your resizing math and logic here, such
canvas.css({
width: 1234,
height: 235,
position: 'absolute' // etc, etc, etc
})
}, 500 );
});
抱歉这么简单,希望这能有所帮助。我将稍后返回,检查这是否有帮助,并在必要时添加,祝您好运 您需要从窗口对象获取屏幕测量值,并将其考虑在内。您可以在窗口调整大小事件上设置一个事件侦听器(这对于jQuery来说是微不足道的,对于普通javascript不太确定),并在屏幕缩放/调整大小时重新定位图像。@francisco.preller感谢您的回复。。听起来不错,但我是Jquery和JS的初学者。我不知道怎么做?你能举个例子吗?@user2092317我在动态地做,我不想显式地放在中间、左边、右边和所有地方。希望答案有帮助,不能停留太久,对不起……谢谢,我会检查这个。给我一些时间,我考虑了所有设备的窗口高度和宽度,背景图像有滚动特性,所以当我滚动它时,窗口宽度和高度都在增加,所以炸弹图像的位置也在变化。如何动态地修复它们