国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js 圖片放大效果 修正版

2019-11-21 00:29:13
字體:
來源:轉載
供稿:網友
首先:我們需要一個可以移動的DIV
復制代碼 代碼如下:

<div style="border:1px solid #CCC;position:absolute; width:200px; height:100px; cursor:move;" id="jelle_test_divquot;>
這個DIV 可以移動,你可以測試下。
</div>
<script type="text/javascript">
var getMouseP=function (e){//獲取鼠標坐標 請傳遞evnet參數
e = e || window.event;
var m=(e.pageX || e.pageY)?{ x:e.pageX, y:e.pageY } : { x:e.clientX + document.body.scrollLeft - document.body.clientLeft, y:e.clientY + document.body.scrollTop - document.body.clientTop };
return m;
};
move=function(o,t){
o=$j(o);
t=$j(t);
o.onmousedown=function(ev){
var mxy=getMouseP(ev);//獲取當前鼠標坐標
var by={x:mxy.x-(t.offsetLeft),y:mxy.y-(t.offsetTop)};
o.style.cursor="move";
document.onmousemove=function(ev){
var mxy=getMouseP(ev);
t.style.left=mxy.x-by.x+"px";
t.style.top=mxy.y-by.y+"px";
};
document.onmouseup=function(){
window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
this.onmousemove=null;
}
}
}
move("jelle_test_div","jelle_test_div");
</script>

然后:我們需要控制他的移動范圍
復制代碼 代碼如下:

<div style="border:1px solid #CCC; width:500px; height:415px; background:url(xxx/c.jpg);" id="jelle_warpper">
<div style="width:100px; height:50px; border:1px solid #CCC;" id="jelle_move"></div>
</div>
<script type="text/javascript">
var mp=function (e){//獲取鼠標坐標 請傳遞evnet參數
e = e || window.event;
var m=(e.pageX || e.pageY)?{ x:e.pageX, y:e.pageY } : { x:e.clientX + document.body.scrollLeft - document.body.clientLeft, y:e.clientY + document.body.scrollTop - document.body.clientTop };
return m;
}
var move2=function(o,t){//請提前設置CSS position:absolute;并激活filter:alpha(opacity=100);
//o相應鼠標拖動的區域ID T被移動對象的ID
o=$j(o);
t=$j(t);
by_o={x:o.offsetLeft,y:o.offsetTop};
o.onmousemove=function(ev){
//var mxy=Jelle.getMouseP(ev);//獲取當前鼠標坐標
var by={x:t.offsetLeft,y:t.offsetTop};
var ms=mp(ev);
t.innerHTML=(by_o.x-by.x)+"---"+(by_o.x-by.y);
jy=ms.y-by_o.y-25;
jx=ms.x-by_o.x-50;
maxy=415-50;//減去移動框的高度
maxx=500-100;//減去移動框的寬度
var y=jy>=maxy?maxy:jy<=0?0:jy;
var x=jx>=maxx?maxx:jx<=0?0:jx;
t.style.marginTop=y+"px";
t.style.marginLeft=x+"px";
}
}
move2("jelle_warpper","jelle_move")
</script>

解決了上面的我問題。那么這個效果就不難了。!
我們可以獲得了 一個 x y, 恰好這個 x y 可以用來設置大圖背景的 x y。
這里我們值得注意的事。要把握好大圖與小圖的比例。
還有就是顯示圖片的DIV 與移動的DIV 比例。
比如我這里的比例: 大圖800*800 小圖是200*200
顯示大圖的DIV 200*200 移動的div 50*50。
其實我還沒總結出這個公式。繞的有點頭暈呵呵。
下面我貼出全部代碼:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 团风县| 山丹县| 孟津县| 遵义县| 虹口区| 天台县| 乐都县| 广德县| 安新县| 高要市| 平山县| 开封县| 壶关县| 开江县| 怀集县| 合阳县| 河源市| 平陆县| 定安县| 建德市| 高州市| 喀喇沁旗| 新晃| 乐亭县| 乌拉特前旗| 札达县| 于田县| 永登县| 潜江市| 荥阳市| 邯郸市| 肃宁县| 博白县| 随州市| 藁城市| 高唐县| 定安县| 汨罗市| 安宁市| 上蔡县| 高唐县|