ホームページ > 記事 > ウェブフロントエンド > ドラッグして画像サイズを制御する js メソッド slider_javascript スキル
この記事の例では、js を使用してスライダーをドラッグして画像のサイズを制御する方法を説明します。皆さんの参考に共有してください。具体的な実装方法は以下の通りです。
スクリプト>
//ゴルバル
var pv = null;
var sd = null;
window.onload=function(){
pv = new PicView("/images/m01.jpg");
sd = 新しいスライダー(
関数(p){
document.getElementById("sliderBlock").innerHTML = 2*p "%";
pv.expand(2*p/100);
},function(){});
}
var PicView = function(url,alt){
this.url=url;
this.obj=null;
this.alt=alt?alt:"";
this.realWidth=null;
this.realHeight=null;
this.zoom=1;
this.init();
}
PicView.prototype.init=function(){
var _img=document.createElement("img");
_img.src = this.url;
_img.alt = this.alt;
_img.style.zoom = this.zoom;
document.getElementById("picViewPanel").appendChild(_img);
this.obj=_img;
this.realWidth=_img.offsetWidth;
this.realHeight=_img.offsetHeight;
}
PicView.prototype.reBind=function(){
this.obj.style.width = this.realWidth*this.zoom "px";
this.obj.style.height = this.realHeight*this.zoom "px";
//this.obj.style.zoom = this.zoom;
}
PicView.prototype.expand=function(n){
this.zoom=n;
this.reBind();
}
var Slider = function(ing,ed){
this.block=document.getElementById("sliderBlock");
this.percent = 0;
this.value = 0;
this.ing = ing;
this.ed = ed;
this.init();
}
Slider.prototype.init=function(){
var _sx=0;
var _cx=0;
var o=this.block;
var me=this;
o.onmousedown=function(e){
var e=window.event||e;
_sx = o.offsetLeft;
_cx = e.clientX-_sx;
document.body.onmousemove=move;
document.body.onmouseup=up;
};
関数 move(e){
var e=window.event||e;
var pos_x = e.clientX - _cx;
pos_x=pos_x
pos_x=pos_x>248 15-50?248 15-50:pos_x;
o.style.left = pos_x "px";
me.percent=(pos_x-13)/2;
me.ing(me.percent);
}
関数 up(){
document.body.onmousemove=function(){};
document.body.onmouseup=function(){};
}
}