页面效果如
结构组成:一个带有透明度的遮罩,左侧中等图片,放在左下方盒子里小图,以及右边的放大版图片。
主要需要一个大盒子,小图以及中等盒子放入大盒子中,遮罩与中等图片,放入同一个中等盒子中,并且遮罩使用相对定位,右侧大图根据左侧的盒子进行绝对定位
操作:鼠标移入中等盒子,遮罩出现,右侧出现大图;鼠标移出,遮罩消失,右侧大图消失。点击左下方小图,左上方图片更换。
注意:比例问题,遮罩与中等盒子,右侧大盒子显示的图片与全部图片
使用构造函数操作:
定义空构造函数,function Enlarge(classname){} 把需要操作的所有的元素都获取到,并绑定到对象的属性上,给需要操作的元素绑定事件:左下方小图点击事件,左上方盒子鼠标移入移出事件。
鼠标移出:遮罩消失,右侧大图消失,可直接使用.style.display = 'none';
小图点击事件:通过小图的标签获取src属性,根据该属性给中等图片以及大图进行更换样式。并且点击小图时,小图需要将其他的小图边框去除,可使用遍历,去除所有边框,可给该点击的小图添加边框样式。
鼠标移入事件:.onmousemove=function(e){}遮罩以及右侧大图出现:.style.display = 'block';遮罩在中等盒子中产生拖拽事件:需要获取鼠标位置:var e = e || window.event; var x = e.pageX; var y = e.pageY;然后更改遮罩top,left属性进行移动。给移动过的距离进行比例转换,计算大盒子背景移动的距离。
最后使用构造函数var enlarge=new Enlarge(大盒子);