ボタン付きの簡単なズームイン/ズームアウト機能とマウスホイール機能を作成しました。主な概念は、最大ズームレベルと最小ズームレベルを制限することです。
私は2つの方法で成功しました
しかし、私はこれを一意のIDを持つタブセクションまたはクラスごとに作成しようとしました。
私のスクリプト
var zoomLevel = 100;
var maxZoomLevel = 150;
var minZoomLevel = 50;
var initW=0,initH=0;
function zoom(zm) {
var img=document.getElementById("pic");
if(zm > 1){
if(zoomLevel < maxZoomLevel){
zoomLevel+=10;
}else{
return;
}
}else if(zm < 1){
if(zoomLevel > minZoomLevel){
zoomLevel-=10;
}else{
return;
}
}
img.style.width = (initW*zoomLevel/100)+"px";
img.style.height = (initH*zoomLevel/100)+"px";
img.style.marginLeft = ((initW-img.width)/2) + "px";
img.style.marginTop = ((initH-img.height)/2) + "px";
}
window.onload=function(){
var img=document.getElementById("pic");
initW=img.width;
initH=img.height;
img.onmousewheel=function(e){
e=e||window.event;
if(e.wheelDelta>=120) zoom(1.1);
else zoom(0.9);
};
if(/Firefox/.test(navigator.userAgent)){
img.addEventListener("DOMMouseScroll",function(e){
if(e.detail<0) zoom(1.1);
else if(e.detail>0) zoom(0.9);
e.preventDefault();
},false);
}
};
ここでは、 GetElementById を使用して画像タグにアクセスすることで要素を取得しています。他のタブのすべてのimgタグにもアクセスする方法はあります。
getElementsbyClassNameも試しましたが、ノードリストを取得するだけでは機能しません。
ここで3つの画像すべてにアクセスするにはどうすればよいですか
現在のBIN