地图程序中类似于百度地图中鼠标拖拽到哪里就显示哪里的图片 10

地图程序中类似于百度地图中鼠标拖拽到哪里就显示哪里的图片,一般把地图所有的图片放到HTML里,打开时加载所有图片,打开页面非常慢,所以需要拖拽到那里显示到哪里的图片,像百... 地图程序中类似于百度地图中鼠标拖拽到哪里就显示哪里的图片,一般把地图所有的图片放到HTML里,打开时加载所有图片,打开页面非常慢,
所以需要拖拽到那里显示到哪里的图片,像百度一样

谁知道这源代码发出来,我给补分
最好是代码的
展开
 我来答
lkitten
2007-11-29 · TA获得超过1238个赞
知道小有建树答主
回答量:1443
采纳率:0%
帮助的人:1077万
展开全部
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>给地图加个放大镜</title>
<SCRIPT>

var shrinkfactor=5

// left and top position of the thumbnailimage
// (distance to the left and top browser-margin, pixels)
var thumbleft = 30
var thumbtop = 30

// left and top position of the zoomed image
// (distance to the left and top browser-margin, pixels)
var largeleft = 300
var largetop = 30

// width and height of the enlarged image's sector (visible part, pixels)
var clipwidth = 240
var clipheight = 160
</SCRIPT>
<SCRIPT>

var isNav, isIE
var offsetX, offsetY
var selectedObj

var largewidth = 0
var largeheight = 0

var thumbwidth = Math.floor(largewidth/shrinkfactor)
var thumbheight = Math.floor(largeheight/shrinkfactor)

var dragimgwidth = Math.floor(clipwidth/shrinkfactor)
var dragimgheight = Math.floor(clipheight/shrinkfactor)
var dragimgleft = thumbleft+3
var dragimgtop = thumbtop+3

var difleft= largeleft-thumbleft
var diftop= largetop-thumbtop

var clippoints

var cliptop=0
var clipbottom=cliptop+clipheight
var clipleft=0
var clipright=clipleft+clipwidth

if (parseInt(navigator.appVersion) >= 4) {
if (navigator.appName == "Netscape") {
isNav = true
} else {
isIE = true
}
}

function setZIndex(obj, zOrder) {
obj.zIndex = zOrder
}

function shiftTo(obj, x, y) {
if (isNav) {
if(x<=document.thumb.left) {x=document.thumb.left}
if(x>=(document.thumb.left+thumbwidth-dragimgwidth-2)) {x=document.thumb.left+thumbwidth-dragimgwidth-2}
if(y<=document.thumb.top) {y=document.thumb.top}
if(y>=(document.thumb.top+thumbheight-dragimgheight-2)) {y=document.thumb.top+thumbheight-dragimgheight-2}
obj.moveTo(x,y)
} else {
if(x<=document.all.thumb.style.posLeft) {x=document.all.thumb.style.posLeft}
if(x>=(document.all.thumb.style.posLeft+thumbwidth-dragimgwidth-2)) {x=document.all.thumb.style.posLeft+thumbwidth-dragimgwidth-2}
if(y<=document.all.thumb.style.posTop) {y=document.all.thumb.style.posTop}
if(y>=(document.all.thumb.style.posTop+thumbheight-dragimgheight-2)) {y=document.all.thumb.style.posTop+thumbheight-dragimgheight-2}
obj.pixelLeft = x
obj.pixelTop = y
}
cliptop = (y-thumbtop)*shrinkfactor
clipbottom = cliptop+clipheight
clipleft = (x-thumbleft)*shrinkfactor
clipright = clipleft+clipwidth

if (document.all) {
clippoints ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
document.all.large.style.posTop=largetop-cliptop
document.all.large.style.posLeft=largeleft-clipleft
document.all.large.style.clip=clippoints
}
if (document.layers) {
document.large.top=largetop-cliptop
document.large.left=largeleft-clipleft
document.large.clip.left = clipleft
document.large.clip.right = clipright
document.large.clip.top = cliptop
document.large.clip.bottom = clipbottom
}
}

function setSelectedElem(evt) {
if (isNav) {
var testObj
var clickX = evt.pageX
var clickY = evt.pageY
for (var i = document.layers.length - 1; i >= 0; i--) {
testObj = document.layers[i]
if ((clickX > testObj.left) &&
(clickX < testObj.left + testObj.clip.width) &&
(clickY > testObj.top) &&
(clickY < testObj.top + testObj.clip.height && document.layers[i].id=="dragimg")) {
selectedObj = testObj
setZIndex(selectedObj, 100)
return
}
}
} else {
var imgObj = window.event.srcElement
if (imgObj.parentElement.id.indexOf("dragimg") != -1) {
selectedObj = imgObj.parentElement.style
setZIndex(selectedObj,100)
return
}
}
selectedObj = null
return
}

function dragIt(evt) {
if (selectedObj) {
if (isNav) {
shiftTo(selectedObj, (evt.pageX - offsetX), (evt.pageY - offsetY))
} else {
shiftTo(selectedObj, (window.event.clientX - offsetX), (window.event.clientY - offsetY))
return false
}
}
}

function engage(evt) {
setSelectedElem(evt)
if (selectedObj) {
if (isNav) {
offsetX = evt.pageX - selectedObj.left
offsetY = evt.pageY - selectedObj.top
} else {
offsetX = window.event.offsetX
offsetY = window.event.offsetY
}
}
return false
}

function release(evt) {
if (selectedObj) {
setZIndex(selectedObj, 0)
selectedObj = null
}
}

function setNavEventCapture() {
if (isNav) {
document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP)
}
}

function init() {
if (document.layers) {
var imageurl=document.large.document.largepic.src
largewidth=document.large.document.width
largeheight=document.large.document.height
thumbwidth = Math.floor(largewidth/shrinkfactor)
thumbheight = Math.floor(largeheight/shrinkfactor)
document.thumb.document.write("<IMG NAME='thumbpic' SRC='"+imageurl+"' width="+thumbwidth+" height="+thumbheight+">")
document.thumb.document.close()
document.dragimg.document.write("<IMG NAME='dragimgpic' border=2 SRC='dragimg.gif' width="+dragimgwidth+" height="+dragimgheight+">")
document.dragimg.document.close()
document.large.left=largeleft
document.large.top=largetop

document.thumb.left=thumbleft
document.thumb.top=thumbtop

document.dragimg.left=dragimgleft
document.dragimg.top=dragimgtop

document.large.clip.left=clipleft
document.large.clip.right=clipright
document.large.clip.top=cliptop
document.large.clip.bottom=clipbottom
document.large.visibility="visible"

setNavEventCapture()
}
if (document.all) {
var imageurl=document.largepic.src
largewidth=document.all.large.offsetWidth
largeheight=document.all.large.offsetHeight
thumbwidth = Math.floor(largewidth/shrinkfactor)
thumbheight = Math.floor(largeheight/shrinkfactor)
thumb.innerHTML="<IMG NAME='thumbpic' SRC='"+imageurl+"' width="+thumbwidth+" height="+thumbheight+">"
dragimg.innerHTML="<IMG NAME='dragimgpic' border=2 SRC='http://www.jscode.cn/Uploadfile/200651515151450.GIF' width="+dragimgwidth+" height="+dragimgheight+">"

document.all.large.style.posLeft=largeleft
document.all.large.style.posTop=largetop

document.all.thumb.style.posLeft=thumbleft
document.all.thumb.style.posTop=thumbtop

document.all.dragimg.style.posLeft=dragimgleft
document.all.dragimg.style.posTop=dragimgtop
clippoints ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
document.all.large.style.clip=clippoints
document.all.large.style.visibility="visible"
}

document.onmousedown = engage
document.onmousemove = dragIt
document.onmouseup = release
}

window.onload=init
</SCRIPT></head>

<body>
<p>用鼠标移动下面的方框,效果不错吧</p>
<center>
<DIV style="position:absolute;visibility:hidden;" ID="large"><IMG NAME="largepic" SRC="http://www.jscode.cn/Uploadfile/2006515151036789.JPG"></DIV>
<DIV style="position:absolute;" ID="thumb"></DIV>
<DIV style="position:absolute;" ID="dragimg"></DIV></center>
</body>
</html>

我帮你找的,我也学学^0^

参考资料: http://zhidao.baidu.com/question/17271941.html

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式