javascript 實(shí)現(xiàn)的完全兼容鼠標(biāo)滾軸縮放圖片的代碼
更新時(shí)間:2010年02月04日 14:48:52 作者:
以前看到的都是用IE的zoom,所以非IE就不支持,昨天看到這個(gè)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){//第一個(gè)參數(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中會(huì)無法計(jì)算圖片大小出錯(cuò)
zooming.add(document.getElementById("testimg1"));
}
演示代碼
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
ps:因?yàn)檫@個(gè)頁(yè)面有滾動(dòng)條,所以如果直接放在頁(yè)面中時(shí),會(huì)滾動(dòng)頁(yè)面而不是圖片,不知道有什么解決辦法
復(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){//第一個(gè)參數(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中會(huì)無法計(jì)算圖片大小出錯(cuò)
zooming.add(document.getElementById("testimg1"));
}
演示代碼
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
ps:因?yàn)檫@個(gè)頁(yè)面有滾動(dòng)條,所以如果直接放在頁(yè)面中時(shí),會(huì)滾動(dòng)頁(yè)面而不是圖片,不知道有什么解決辦法
您可能感興趣的文章:
- JS+css 圖片自動(dòng)縮放自適應(yīng)大小
- JavaScript 圖片放大鏡(可拖放、縮放效果)
- js 圖片等比例縮放代碼
- 關(guān)于圖片按比例自適應(yīng)縮放的js代碼
- JS 圖片縮放效果代碼
- JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)圖片等比例縮放實(shí)現(xiàn)代碼及調(diào)用方式
- JS網(wǎng)頁(yè)圖片按比例自適應(yīng)縮放實(shí)現(xiàn)方法
- 使用ImageMagick進(jìn)行圖片縮放、合成與裁剪(js+python)
- javascript圖片自動(dòng)縮放和垂直居中處理函數(shù)
- THINKPHP+JS實(shí)現(xiàn)縮放圖片式截圖的實(shí)現(xiàn)
- js 圖片縮放(按比例)控制代碼
- JS圖片等比例縮放方法完整示例
相關(guān)文章
基于JavaScript FileReader上傳圖片顯示本地鏈接
這篇文章主要為大家詳細(xì)介紹了基于JavaScript FileReader上傳圖片顯示本地鏈接的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05
Add Formatted Data to a Spreadsheet
Add Formatted Data to a Spreadsheet...2007-06-06
解決typescript項(xiàng)目報(bào)錯(cuò):找不到模塊“xxx”或其相應(yīng)的類型聲明問題
這篇文章主要介紹了解決typescript項(xiàng)目報(bào)錯(cuò):找不到模塊“xxx”或其相應(yīng)的類型聲明問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
WordPress 單頁(yè)面上一頁(yè)下一頁(yè)的實(shí)現(xiàn)方法【附代碼】
下面小編就為大家?guī)硪黄猈ordPress 單頁(yè)面上一頁(yè)下一頁(yè)的實(shí)現(xiàn)方法【附代碼】。小編覺得非常不錯(cuò)。給大家分享一下。希望能給大家一個(gè)參考。2016-03-03
Js得到radiobuttonlist選中值的兩種方法(推薦)
下面小編就為大家?guī)硪黄狫s得到radiobuttonlist選中值的兩種方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08
window.open以post方式將內(nèi)容提交到新窗口
最近在做web項(xiàng)目,碰到需要跨頁(yè)面?zhèn)鬟f參數(shù)的功能,就是那種需要把當(dāng)前頁(yè)面的內(nèi)容帶到新開的子窗體中,以前的做法是傳一個(gè)id過去,然后在新窗口中去讀數(shù)據(jù)庫(kù)的內(nèi)容;比較有意思的是直接通過調(diào)用form的submit方法不能觸發(fā)onsubmit事件,查看了幫助文檔,必須手動(dòng)的觸發(fā),否則只能看到頁(yè)面刷新而沒有打開新窗口2012-12-12

