divで定義されたキャンバスがあります。divのoveflowオプションをスクロールするオプションに設定しました。キャンバスにコンテンツを設定したとき。スクロールできました。KineticJS を使用して同じ効果を得るにはどうすればよいですか?
1473 次
1 に答える
3
KineticJS のスクロールバー
本当に同じコンセプト!
ラッパー div で kineticJS コンテナーをラップします。
<div id="wrapper">
<div id="container"></div>
</div>
次に、ラッパー div を目的の小さいサイズに設定します (overflow:scroll を使用):
#wrapper{ overflow:scroll; width:300px; height:350px;}
次に、キネティック ステージのサイズを実物大のサイズに設定します。
var stage = new Kinetic.Stage({
container: 'container',
width: 740,
height: 463
});
ここにコードとフィドルがあります:http://jsfiddle.net/m1erickson/j4RGL/
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Prototype</title>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script src="http://www.html5canvastutorials.com/libraries/kinetic-v4.3.3-beta.js"></script>
<style>
#container{
border:solid 1px #ccc;
margin-top: 10px;
}
#wrapper{ overflow:scroll; width:300px; height:350px; border:2px solid blue; }
</style>
<script>
$(function(){
var stage = new Kinetic.Stage({
container: 'container',
width: 740,
height: 463
});
var layer = new Kinetic.Layer();
stage.add(layer);
var image=new Image();
image.onload=function(){
var kImg=new Kinetic.Image({
image:image,
id:99,
x:0,
y:0,
width:740,
height:463,
draggable:false
});
layer.add(kImg);
layer.draw();
}
image.src="http://www.mrwallpaper.com/wallpapers/Colorful-New-York-City.jpg";
}); // end $(function(){});
</script>
</head>
<body>
<div id="wrapper">
<div id="container"></div>
</div>
</body>
</html>
于 2013-03-28T20:17:16.163 に答える