js滑鼠滾輪事件詳解(全相容ie、chrome、firefox)實現圖片縮放
阿新 • • 發佈:2019-01-10
以前看到的都是用IE的zoom,所以非IE就不支援,昨天看到這個js中滑鼠滾輪事件詳解,於是完全相容(IE6-8,FF,Chrome,Opera,Safari)的滑鼠滾軸縮放圖片效果今天就誕生了
====程式碼如下:
var zooming=function(e){
e=window.event ||e;
var o=this,data=e.wheelDelta ||e.detail*40,zoom,size;
if(!+'\v1'){
zoom = parseInt(o.style.zoom) || 100;
zoom += data / 12;
if(zoom > zooming.min)
o.style.zoom = zoom + '%';
}else {
size=o.getAttribute("_zoomsize").split(",");
zoom=parseInt(o.getAttribute("_zoom"))||100;
zoom+=data/12;
if(zoom>zooming.min){
o.setAttribute("_zoom",zoom);
o.style.width=size[0]*zoom/100+"px";
o.style.height=size[1]*zoom/100+"px";
}
}
};
zooming.add=function(obj,min){//第一個引數指定可以縮放的圖片,min指定最小縮放的大小,default to 50
zooming.min=min || 50;
obj.onmousewheel=zooming;
if(/a/[-1]=='a')//if Firefox
obj.addEventListener("DOMMouseScroll",zooming,false);
if(-[1,]){//if not IE
obj.setAttribute("_zoomsize",obj.offsetWidth+","+obj.offsetHeight);
}
};
window.onload=function(){//放在onload中,否則非ie中會無法計算圖片大小出錯
zooming.add(document.getElementByIdx_x("testimg1"));
}
轉載自:http://blog.sina.com.cn/s/blog_541557700100l209.html
var zooming=function(e){
e=window.event ||e;
var o=this,data=e.wheelDelta ||e.detail*40,zoom,size;
if(!+'\v1'){
zoom = parseInt(o.style.zoom) || 100;
zoom += data / 12;
if(zoom > zooming.min)
o.style.zoom = zoom + '%';
}else {
size=o.getAttribute("_zoomsize").split(",");
zoom=parseInt(o.getAttribute("_zoom"))||100;
zoom+=data/12;
if(zoom>zooming.min){
o.setAttribute("_zoom",zoom);
o.style.width=size[0]*zoom/100+"px";
o.style.height=size[1]*zoom/100+"px";
}
}
};
zooming.add=function(obj,min){//第一個引數指定可以縮放的圖片,min指定最小縮放的大小,default to 50
zooming.min=min || 50;
obj.onmousewheel=zooming;
if(/a/[-1]=='a')//if Firefox
obj.addEventListener("DOMMouseScroll",zooming,false);
if(-[1,]){//if not IE
obj.setAttribute("_zoomsize",obj.offsetWidth+","+obj.offsetHeight);
}
};
window.onload=function(){//放在onload中,否則非ie中會無法計算圖片大小出錯
zooming.add(document.getElementByIdx_x("testimg1"));
}
轉載自:http://blog.sina.com.cn/s/blog_541557700100l209.html