给地图加个放大镜

<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<!--  saved from url=(0035)http://www.jscode.cn/JsCode/688.htm  -->
< HTML >< HEAD >< TITLE > 网页特效观止|www.jscode.cn| --- 给地图加个放大镜 </ TITLE >
< META  http-equiv =Content-Type  content ="text/html; charset=gb2312" >
< 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 >

< META  content ="MSHTML 6.00.3790.2795"  name =GENERATOR ></ HEAD >
< BODY >
< P > 用鼠标移动下面的方框,效果不错吧 </ P >
< CENTER >
< DIV  id =large  style ="VISIBILITY: hidden; POSITION: absolute" >< IMG 
src ="网页特效观止www_jscode_cn --- 给地图加个放大镜_files/2006515151036789.jpg"  
name
=largepic ></ DIV >
< DIV  id =thumb  style ="POSITION: absolute" ></ DIV >
< DIV  id =dragimg  style ="POSITION: absolute" ></ DIV ></ CENTER ></ BODY ></ HTML >
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值