javascript 實現(xiàn)的完全兼容鼠標(biāo)滾軸縮放圖片的代碼
更新時間:2010年02月04日 14:48:52 作者:
以前看到的都是用IE的zoom,所以非IE就不支持,昨天看到這個js中鼠標(biāo)滾輪事件詳解 ,于是完全兼容(IE6-8,FF,Chrome,Opera,Safari)的鼠標(biāo)滾軸縮放圖片效果今天就誕生了
code如下:
/*!
*author:sohighthesky
*blog:http://www.cnblogs.com/sohighthesky
*date:2010-2-4
*/
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){//第一個參數(shù)指定可以縮放的圖片,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.getElementById("testimg1"));
}
演示代碼
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
ps:因為這個頁面有滾動條,所以如果直接放在頁面中時,會滾動頁面而不是圖片,不知道有什么解決辦法
復(fù)制代碼 代碼如下:
/*!
*author:sohighthesky
*blog:http://www.cnblogs.com/sohighthesky
*date:2010-2-4
*/
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){//第一個參數(shù)指定可以縮放的圖片,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.getElementById("testimg1"));
}
演示代碼
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
ps:因為這個頁面有滾動條,所以如果直接放在頁面中時,會滾動頁面而不是圖片,不知道有什么解決辦法
您可能感興趣的文章:
- JS+css 圖片自動縮放自適應(yīng)大小
- JavaScript 圖片放大鏡(可拖放、縮放效果)
- js 圖片等比例縮放代碼
- 關(guān)于圖片按比例自適應(yīng)縮放的js代碼
- JS 圖片縮放效果代碼
- JavaScript實現(xiàn)網(wǎng)頁圖片等比例縮放實現(xiàn)代碼及調(diào)用方式
- JS網(wǎng)頁圖片按比例自適應(yīng)縮放實現(xiàn)方法
- 使用ImageMagick進(jìn)行圖片縮放、合成與裁剪(js+python)
- javascript圖片自動縮放和垂直居中處理函數(shù)
- THINKPHP+JS實現(xiàn)縮放圖片式截圖的實現(xiàn)
- js 圖片縮放(按比例)控制代碼
- JS圖片等比例縮放方法完整示例
相關(guān)文章
vant uploader實現(xiàn)上傳圖片拖拽功能(設(shè)為封面)
這篇文章主要介紹了vant uploader實現(xiàn)上傳圖片拖拽功能(設(shè)為封面),這個功能在日常生活中經(jīng)常會用到,操作非常方便,今天通過實例代碼介紹實現(xiàn)過程,需要的朋友可以參考下2021-10-10全面解析Bootstrap中tooltip、popover的使用方法
這篇文章主要為大家詳細(xì)解析了Bootstrap中tooltip、popover的使用方法,了解提示框、彈出框的實現(xiàn)原理,感興趣的朋友可以參考一下2016-06-06Bootstrap實現(xiàn)圓角、圓形頭像和響應(yīng)式圖片
這篇文章主要介紹了Bootstrap實現(xiàn)圓角、圓形頭像和響應(yīng)式圖片的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12JavaScript 權(quán)威指南(第四版) 讀書筆記
JavaScript 權(quán)威指南(第四版) 讀書筆記,大家可以看看。2009-08-08JavaScript中this關(guān)鍵字用法實例分析
這篇文章主要介紹了JavaScript中this關(guān)鍵字用法,結(jié)合實例形式總結(jié)分析了javascript中this關(guān)鍵字在不同條件下的指向問題與相關(guān)操作技巧,需要的朋友可以參考下2018-08-08