用js实现购物网站的放大镜效果
放大镜的效果是,当我们把鼠标移动到图片上时,会有另一幅大图片显示放大镜旁边。它怎么能实现呢让我把代码寄给你,请参考它。放大镜
*边距:0;填充:0;}
#经{宽度:1184px;身高:500px;保证金:50px汽车0;背景颜色:# CCC;溢出:隐藏;padding: 10px;位置:位置:;}
#经# minbox {宽度:350px;身高:350px;浮动:左;位置:相对;}
# maxbox {宽度:400px;身高:400px;位置:绝对;左:380px;溢出:隐藏;显示:无;}
# maxbox img {宽度:800px;身高:800px;位置:绝对的;}
# CON {浮动:左;margin-left: 20px;}
#孟{宽度:175px;身高:175px;位置:绝对;背景颜色:黄色;不透明度:0.4;过滤器:α(不透明度40);左:0;最高:0;};}
无功minbox = document.getelementbyid('minbox);
VaR孟= document.getelementbyid('meng);
无功maxbox = document.getelementbyid('maxbox);
无功maximg = maxbox.getelementsbytagname('img){ 0 };
VaR矿业= minbox.getelementsbytagname('img){ 0 };
功能offsettl(obj){
VaR的= 0,T = 0;
而(obj){
氧氟沙星+ = + obj.clientleft offsetleft OBJ;
T = offsettop + obj.clienttop OBJ;
obj = obj.offsetparent;
}
返回{左:OFL,顶部:经常};
}
minbox。移动鼠标=功能(e){
VaR E = E | | window.event;
孟。风格显示=阻止;
maxbox。风格显示=阻止;
无功niubi1 = e.clientx-offsettl。左萌。clientwidth / 2(minbox);的面具 / / X坐标
无功niubi2 = e.clienty-offsettl。顶孟。自己 / 2(minbox); / / Y坐标的面具
VaR比例= maximg。clientwidth / minimg.clientwidth;
如果(niubi1 <= 0){
niubi1 = 0;
} else if(niubi1 > = minbox。clientwidth孟。clientwidth){
niubi1 = minbox.clientwidth-meng.clientwidth;
}
如果(niubi2 <= 0){
niubi2 = 0;
} else if(niubi2 > = minbox。自己的梦。自己){
niubi2 = minbox.clientheight-meng.clientheight;
}
console.log(niubi1);
console.log(niubi2);
孟。风格。左= niubi1 + 'px;
孟。风格。最高niubi2 + 'px;
Maximg。风格。左= - parseInt(孟。风格。左)*比力+ 'px;
Maximg。风格。= - parseInt(孟。风格。顶部)*比力+ 'px;
}
minbox。onmouseout=函数(){
孟。风格显示=不关;
maxbox。风格显示=不关;
}
结果如下:
希望本文能对javascript程序设计有所帮助。