Share Pastebin
Guest
Public paste!

Untitled

By: a guest | May 30th, 2010 | Syntax: JavaScript | Size: 1.88 KB | Hits: 370 | Expires: Never
This paste has a previous version, view the difference. Copy text to clipboard
  1.         /**
  2.         *put 置入元素的一些设置
  3.         *Magn 放大镜元素的一些设置
  4.         *imgurl 图片的地址
  5.         *pro 放大的比例
  6.         */
  7.        
  8. var Magnifier=function(Put,Magn,imgurl,proportion){
  9.         this.put=Put;
  10.         this.mag=Magn;
  11.         this.url=imgurl;
  12.         this.pro=proportion;
  13. }
  14. Magnifier.prototype={
  15.         'Magnifier':function(){
  16.                 var M=this;
  17.                 var Put=document.createElement('div');
  18.                 var Pimg=document.createElement('img');
  19.                
  20.                 Put.appendChild(Pimg);
  21.                
  22.                 var put=document.getElementById(M.getvalue('put','id'))
  23.                 put.appendChild(Put);
  24.                
  25.                 var Magn=document.createElement('div');
  26.                 var Mimg=document.createElement('img')
  27.                
  28.                 Magn.appendChild(Mimg);
  29.                 var mag=document.getElementById(M.getvalue('mag','id'))
  30.                 mag.appendChild(Magn);
  31.  
  32.                 Pimg.onload=function(){
  33.                 var w=Pimg.clientWidth;
  34.                 var h=Pimg.clientHeight;
  35.                 Pimg.style.height=h*M.pro+'px';
  36.                 Pimg.style.width=w*M.pro+'px';
  37.                 }
  38.                
  39.                 Pimg.src=M.url;
  40.                 Mimg.src=M.url;
  41.                 Magn.style.cssText='position:relative;width:'+M.getvalue('mag','width')+'px;height:'+M.getvalue('mag','height')+'px;overflow:hidden;'
  42.                 Mimg.style.cssText='position:absolute;left:0px;top:0px;'
  43.                 put.style.position='relative';
  44.                 put.onmousemove=function(e){
  45.                    var x,y;  
  46.                    var e = e||window.event;
  47.                    
  48.                    var offsetX = e.offsetX ? e.offsetX : e.layerX;
  49.                    var offsetY = e.offsetY ? e.offsetY : e.layerY;
  50.                    x=offsetX;
  51.                    y=offsetY;  
  52.                  
  53.                    if(isNaN(x)) x=0;
  54.                    if(isNaN(y)) y=0;  
  55.                   Mimg.style.top = '-'+parseInt(y/M.pro-M.getvalue('mag','height')/2)+'px';
  56.                    Mimg.style.left = '-'+parseInt(x/M.pro-M.getvalue('mag','width')/2)+'px';
  57.                    
  58.            document.getElementById('c').innerHTML=x+','+y;  /*如果你用的话记得注掉*/
  59.                 }
  60.                
  61.         },
  62.         'getvalue':function(id,name){
  63.                 var M=this;
  64.                 return M[id][name];
  65.         }
  66. }
  67.  
  68. var magn = new Magnifier({'id':'a'},{'id':'b','width':100,'height':100},'006.gif',0.5);
  69. magn.Magnifier();