简单的放大缩小,显示坐标功能。
-
演示代码:
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<หัว>
<TITLE> เอกสาร </TITLE>
<style type="text/css">
ร่างกาย{
ช่องว่างภายใน : 0px ;
ระยะขอบ : 0px;
สีพื้นหลัง : #999999 ;
-
.DivMain {
ตำแหน่ง : สัมบูรณ์ ;
การจัดแนวข้อความ : กึ่งกลาง ;
ล้น : ซ่อนเร้น ;
-
.DivMenu {
ตำแหน่ง : สัมบูรณ์ ;
การจัดแนวข้อความ : ซ้าย ;
ล้น : ซ่อนเร้น ;
-
.ImgMain {
ตำแหน่ง : สัมบูรณ์ ;
ล้น : ซ่อนเร้น ;
ขอบ : 0px ;
-
.TBMain {
สีพื้นหลัง : #CCCCCC ;
ช่องว่างภายใน : 0px ;
ขอบ : 0px ;
ดัชนี z : 99 ;
ความสูงบรรทัด : 18px ;
-
.TBเมนู {
สีพื้นหลัง : #FFCCCC ;
ช่องว่างภายใน : 0px ;
ขอบ : 0px ;
ดัชนี z : 99 ;
สี: #000000 ;
-
.HrScroll {
ระยะขอบ : 0px;
สีพื้นหลัง : #FFFFFF ;
ช่องว่างภายใน : 0px ;
ขอบ : 0px ;
ดัชนี z : 99 ;
สี : #000000 ;
ระยะห่างขอบ : 0px;
ความกว้าง : 160px ;
ความสูง : 10px ;
-
</สไตล์>
<SCRIPT LANGUAGE="จาวาสคริปต์">
-
var ความกว้างดั้งเดิม ;
เป็นความสูงดั้งเดิม ;
var objDivMain ;
var objTbMain ;
var objImg ;
เป็น ObjDrag ;
var objDivMenu ;
var objTbMemu ;
var objbtnImgInfo ;
var objDivFlag;
var objHrScroll;
var oRcts ;
var oTextRange ;
ฟังก์ชั่น setInit (obj) {
objDivMain = document.getElementById("divMain" ;
objTbMain = document.getElementById("TbMain" ;
objDivMenu = document.getElementById("DivMenu" ;
objTbMenu = document.getElementById("TbMenu" ;
objImg = document.getElementById("imgMain" ;
objbtnImgInfo = document.getElementById("btnImgInfo" ;
objDivFlag = document.getElementById("DivFlag");
objHrScroll = document.getElementById("HrScroll");
originalWidth = obj.width;
originalHeight = obj.height;
objImg.style.width = ความกว้างดั้งเดิม;
objImg.style.height = ความสูงดั้งเดิม;
fmImgZoom.FitScreen.click();
-
ฟังก์ชั่น setFitScreen() {
initImg(objImg);
-
ฟังก์ชั่น setOriginal() {
var intBodyWidth ;
var intBodyHeight ;
intBodyWidth = document.body.clientWidth ;
intBodyHeight = document.body.clientHeight ;
objImg.style.left = 0 ;
objImg.style.top = 0 ;
objImg.style.width = ความกว้างดั้งเดิม;
objImg.style.height = ความสูงดั้งเดิม;
objImg.style.zoom = 1 ;
objDivMain.style.width = intBodyWidth ;
objDivMain.style.height = intBodyHeight - objTbMain.clientHeight;
fnWritePos(objImg.style.left,objImg.style.top,objImg.style.zoom);
-
ฟังก์ชั่น initImg (objCurrent) {
var intBodyWidth ;
var intBodyHeight ;
intBodyWidth = document.body.clientWidth ;
intBodyHeight = document.body.clientHeight ;
objTbMain.style.top = 0;
objTbMain.style.height = 20;
objTbMain.style.width = intBodyWidth;
objDivMain.style.left = 0 ;
objDivMain.style.height = intBodyHeight - objTbMain.clientHeight;
objDivMain.style.width = intBodyWidth ;
initZoom(objปัจจุบัน);
-
ฟังก์ชั่น initZoom (obj) {
var intObjWidth ;
var intObjHeight ;
var intDivHeight ;
var intZoomRatio ;
intDivHeight = objDivMain.style.pixelHeight;
intObjHeight = obj.style.pixelHeight;
intZoomRatio = intDivHeight / intObjHeight;
obj.style.zoom = อัตราส่วน intZoom ;
obj.style.top = 0;
obj.style.left = 0;
fnWritePos (obj.style.left,obj.style.top,obj.style.zoom);
-
ฟังก์ชั่น fnMouseDown (obj) {
ObjDrag=obj;
ObjDrag.setCapture();
ObjDrag.l=event.x-ObjDrag.style.pixelLeft;
ObjDrag.t=event.y-ObjDrag.style.pixelTop;
-
ฟังก์ชั่น fnMouseMove() {
ถ้า (ObjDrag!=null) {
ObjDrag.style.left = event.x-ObjDrag.l;
ObjDrag.style.top = event.y-ObjDrag.t;
fnWritePos(ObjDrag.style.left,ObjDrag.style.top,ObjDrag.style.zoom);
-
-
ฟังก์ชั่น fnMouseUp() {
ถ้า (ObjDrag!=null) {
ObjDrag.releaseCapture();
ObjDrag=null;
-
-
ฟังก์ชั่น fnZoomIn() {
objImg.style.zoom = parseFloat(objImg.style.zoom) + 0.01 ;
fnWritePos(objImg.style.left,objImg.style.top,objImg.style.zoom);
-
ฟังก์ชั่น fnZoomOut() {
ถ้า(objImg.style.zoom>0.01){
objImg.style.zoom = parseFloat(objImg.style.zoom) - 0.01 ;
fnWritePos(objImg.style.left,objImg.style.top,objImg.style.zoom);
-
-
ฟังก์ชั่น fnDivMouseDown() {
ถ้า ( event.button == 2 && event.srcElement.id != "imgMain") {
objDivMenu.style.top = event.y;
objDivMenu.style.left = เหตุการณ์ x;
objDivMenu.style.visibility = "";
oTextRange = objHrScroll.createTextRange() ;
oRcts = oTextRange.getClientRects();
oBndRct = objDivFlag.getBoundingClientRect();
objDivFlag.style.top = oRcts[0].top;
objDivFlag.style.left = oRcts[0].left + parseInt(objImg.style.zoom * 10) ;
objDivFlag.style.visibility = "";
-
ถ้า ( event.button == 1 && event.srcElement.id != "imgMain") {
objDivMenu.style.visibility = "ซ่อน";
objDivFlag.style.visibility = "ซ่อน";
-
-
ฟังก์ชั่น fnWritePos (intLeft, intTop, intZoom) {
objbtnImgInfo.innerText = " ImgLeft:" + intLeft + " ImgTop:" + intTop + " ImgZoom:" + intZoom ;
-
ฟังก์ชั่น fnSlipMouseDown (obj) {
ObjDrag=obj;
ObjDrag.setCapture();
ObjDrag.l = event.x - ObjDrag.style.pixelLeft;
ObjDrag.t = ObjDrag.style.pixelTop;
-
ฟังก์ชั่น fnSlipMouseMove() {
ถ้า (ObjDrag!=null) {
ถ้า (event.x >= oRcts[0].left && event.x <= oRcts[0].right ){
ObjDrag.style.left = event.x - objDivFlag.offsetWidth / 2;
-
ObjDrag.t = ObjDrag.style.pixelTop;
var intCurrentPos = ObjDrag.style.pixelLeft - oRcts[0].left + objDivFlag.offsetWidth / 2;
var intPicZoom = intCurrentPos / 10;
objImg.style.zoom = intPicZoom;
fnWritePos(objImg.style.left,objImg.style.top,objImg.style.zoom);
-
-
ฟังก์ชั่น fnSlipMouseUp() {
ถ้า (ObjDrag!=null) {
ObjDrag.releaseCapture();
ObjDrag=null;
-
-
ฟังก์ชั่น setDisplay() {
ถ้า (objImg.style.visibility == ""){
objImg.style.visibility = "ซ่อน";
-
อื่น{
objImg.style.visibility = "";
-
-
ฟังก์ชั่น fnContextMenu() {
window.event.returnValue=false;
-
-
</สคริปต์>
</HEAD>
<BODY oncontextmenu="fnContextMenu()">
<ชื่อแบบฟอร์ม = "fmImgZoom">
<TABLE id="tbMain" class="TBMain">
<TR>
<ทีดี>
<input type="button" name="ZoomIn" value="ZoomIn" onclick="fnZoomIn()">
<input type="button" name="ZoomOut" value="ZoomOut" onclick="fnZoomOut()">
<input type="button" name="Original" value="Original" onclick="setOriginal()">
<input type="button" name="FitScreen" value="FitScreen" onclick="setFitScreen()">
<input type="button" name="btnView" value="hide/view" onclick="setDisplay()">
<input id="btnImgInfo" size="50">
</TD>
</TR>
</ตาราง>
<div id="divMain" class="DivMain" onmousedown="fnDivMouseDown()"><img src="<A href="/u/info_img/2009-06/08/22.jpg" id="imgMain" class="imgMain" onload="setInit(this)" onmousedown="fnMouseDown(this)" onmousemove="fnMouseMove()" onmouseup="fnMouseUp()" ></div>
<div id="divMenu" class="DivMenu" style="visibility:hidden">
<ชั้นตาราง = "TBMenu">
<TR>
<TD>10%</TD>
<TD><button id="HrScroll" class="HrScroll"><hr noshade></button> </TD>
<TD>1600%</TD>
</TR>
</ตาราง>
</div>
<DIV ID="DivFlag" STYLE="position:absolute;visibility:hidden;width:1px;height:10px;z-index:99" onmousedown="fnSlipMouseDown(this)" onmousemove="fnSlipMouseMove()" onmouseup=" fnSlipMouseUp()" onmouseover="this.style.cursor ='hand'" onmouseout="this.style.cursor=''">↑</DIV>
</แบบฟอร์ม>
</ร่างกาย>
</HTML>