在HTML5画布中滚动(不移动图像)图像

时间:2013-09-26 09:17:07

标签: javascript android css canvas cordova

我是帆布游戏开发的初学者,所以请原谅我一个愚蠢的问题。

我的图像宽度为2048像素,高度为1536像素,我需要放在画布中(宽度和高度因设备而异)。我能够滚动图像,但问题是图像从屏幕出来(在所有边缘显示空白)。假设设备宽度为430,高度为300,则用户可以滚动图像进行查看。如果我滑动屏幕进行滚动,那么图像就会从画布中出来,就像拉动橡胶一样,如果我停止滑动图像将放置到画布边框。滚动图像没有用画布边框修复..我正在尝试这个日子..请任何人帮助我..

<html>
<head>
<style>
body {
    margin: 0px;
    padding: 0px;
}
#container {
    width: 100%;
    height: 100%;
    z-index:-1;
}

#inner {
    width: 1000px;
    height: 1000px;
    overflow: scroll;
}
</style>


<!-- Adding viewport -->
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta name="viewport" content="width=device-width, user-scalable=no">
 <script type="text/javascript" src="js/jquery_v1.9.1.js"></script>
 <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
 <script type="text/javascript" src="js/index.js"></script>
 <script type="text/javascript" src="js/cityPrototype.js"></script>
 </head>
 <body>
<div id="container">
    <div id="inner">
        <canvas id="can1"> </canvas>
    </div>
</div>
 </body>
  </html>
Here is Javascript function
function init(){  

can = document.getElementById('can');
cxt = can.getContext('2d');

can.width = can.parentNode.clientWidth;
can.height = can.parentNode.clientHeight;

 bg.onload=function(){
 alert("Onload");  

cxt.drawImage(bg,0,0,can.width,can.height);
width, height);
};
bg.src = "img/01.jpg";  
  }

我在询问问题之前已经搜索过,但不能完美。我正在使用Canvas,JavaScript和CSS在PhoneGap框架中运行应用程序。

2 个答案:

答案 0 :(得分:0)

 #container {
width: 100%;
z-index:-1;

}

#inner {
overflow: auto;
}

不要在内部使用宽度和高度。只需将你的形象置于内心。

样本:

http://jsfiddle.net/WY7fE/

答案 1 :(得分:0)

糟糕,最后我找到了答案,我们可以通过在config.xml中修改来停止弹出屏幕找到答案How to prevent app running in phone-gap from scrolling vertically?