jquery.viewport を使用してビューポート関数を作成しています。jquery ui を使用してスライダーを作成し、独自のズーム関数を使用して画像をズームします。また、このプラグインを使用してビューポート機能を作成します。
http://borbit.github.com/jquery.viewport/
問題は、画像をズームした後、ドラッグ可能な領域がコンテンツの一部にすぎないことです。つまり、一部の領域でコンテンツをドラッグできません。とにかく問題を解決する方法はありますか?ありがとう
HTML:
<div id="view">
<img src="demo/Web081112_P002_text.png" id = "largeText"/>
<img src="demo/Web081112_P002_image.jpg" id = "largeImg"/>
</div>
<div id='slider' style='display:block;position:fixed;z-index:105;height:25%;right: 2%;top:25%;'></div>
Javascript
<script>
$(document).ready(function(){
$("#view").css("height",$(window).height());
$("#view").css("width",$(window).width());
/*
$("#box").css("height",$("#largeImg").height());
$("#box").css("width",$("#largeImg").width());
*/
//initiate the viewport
var element = $('#view').viewport();
var content = element.viewport('content');
content.draggable({containment: 'parent'});
content.scraggable({containment: 'parent'});
$( "#slider" ).slider({
orientation: "vertical",
range: "min",
min: 100,
max: 200,
value: 100,
slide: function( event, ui ) {
$("#largeText").css("width",ui.value+"%");
$("
#largeImg").css("width",ui.value+"%");
$("#largeText").css("height",ui.value+"%");
$("#largeImg").css("height",ui.value+"%");
$("#largeText").css('top', ($("#view").height()/2-$("#largeText").height()/2) +'px');
$("#largeImg").css('top', ($("#view").height()/2-$("#largeImg").height()/2) +'px');
$('#largeText').css('left', ($("#view").width()/2 - $('#largeText').width()/2)+'px');
$('#largeImg').css('left', ($("#view").width()/2 - $('#largeImg').width()/2)+'px');
//element.viewport('update');
//Using this statement to update will occur error.
}
});
});
</script>
CSS:
<style>
#view {
height:600px;
width:350px;
}
#largeImg {
position:absolute;
display:block;
width: 1250px;
height: 1500px;
z-index: 100;
}
#largeText {
position:absolute;
display:block;
width: 1250px;
height: 1500px;
z-index: 101;
}
body {
width : auto;
height: auto;
overflow:hidden;
}
</style>