欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js實現(xiàn)圖片放大和拖拽特效代碼分享

 更新時間:2021年10月13日 11:00:51   投稿:lijiao  
這篇文章主要介紹了js實現(xiàn)圖片放大和拖拽特效,除了點擊放大和縮小按鈕來控制圖片的放大縮小,還可以使用鼠標(biāo)的滾輪控制圖片的縮放,推薦給大家,有需要的小伙伴可以參考下

本文實例講述了js實現(xiàn)圖片放大和拖拽特效代碼,分享給大家供大家參考。具體如下:

js實現(xiàn)圖片放大和拖拽特效是一款非常實用的js特效,實現(xiàn)了圖片的放大和拖拽功能,沒用用到j(luò)query插件,是用原生javascript實現(xiàn)的,除了點擊放大和縮小按鈕來控制圖片的放大縮小,還可以使用鼠標(biāo)的滾輪控制圖片的縮放。

運行效果圖:                               ----------------------查看效果 源碼下載-----------------------

小提示:瀏覽器中如果不能正常運行,可以嘗試切換瀏覽模式。
 為大家分享的js實現(xiàn)圖片放大和拖拽特效代碼如下

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>js實現(xiàn)圖片放大和拖拽特效</title>
 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
 <link rel="stylesheet" href="css/style.css">
 <script type="text/javascript" src="js/drag_map.js"></script>
 <style type="text/css">
  body{font-size: 12px;font-family: "Verdana" , "Arial" , "Helvetica" , "sans-serif";} td{font-size: 12px; line-height: 150%;} TD{font-size: 12px; color: #000000;} A{font-size: 12px; color: #000000;} #Layer1{z-index: 100; position: absolute; top: 150px;} #Layer2{z-index: 1; position: absolute;}
 </style>
 <script type="text/JavaScript">
  function MM_reloadPage(init) {
   if (init == true) with (navigator) {
    if ((appName == "Netscape") && (parseInt(appVersion) == 4)) {
     document.MM_pgW = innerWidth; document.MM_pgH = innerHeight; onresize = MM_reloadPage;
    }
   }
   else if (innerWidth != document.MM_pgW || innerHeight != document.MM_pgH) location.reload();
  }
  MM_reloadPage(true);
 </script>
</head>
<body onLoad="" onmouseup="document.selection.empty()" oncontextmenu="return false"
 onselectstart="return false" ondragstart="return false" onbeforecopy="return false"
 style="overflow-y: hidden; overflow-x: hidden" oncopy="document.selection.empty()"
 leftmargin="0" topmargin="0" onselect="document.selection.empty()" marginheight="0"
 marginwidth="0">
 
 <div id="Layer1">
  <table cellspacing="2" cellpadding="0" border="0">
   <tbody>
    <tr>
     <td>&nbsp;
      
     </td>
     <td>
      <img title="向上" style="cursor: hand" onClick="clickMove('down')" height="20" src="images/up.gif"
       width="20">
     </td>
     <td>&nbsp;
      
     </td>
    </tr>
    <tr>
     <td>
      <img title="向左" style="cursor: hand" onClick="clickMove('right')" height="20" src="images/left.gif"
       width="20">
     </td>
     <td>
      <img title="還原" style="cursor: hand" onClick="realsize();" height="20" src="images/zoom.gif"
       width="20">
     </td>
     <td>
      <img title="向右" style="cursor: hand" onClick="clickMove('left')" height="20" src="images/right.gif"
       width="20">
     </td>
    </tr>
    <tr>
     <td>&nbsp;
      
     </td>
     <td>
      <img title="向下" style="cursor: hand" onClick="clickMove('up')" height="20" src="images/down.gif"
       width="20">
     </td>
     <td>&nbsp;
      
     </td>
    </tr>
    <tr>
     <td>&nbsp;
      
     </td>
     <td>
      <img title="放大" style="cursor: hand" onClick="bigit();" height="20" src="images/zoom_in.gif"
       width="20">
     </td>
     <td>&nbsp;
      
     </td>
    </tr>
    <tr>
     <td>&nbsp;
      
     </td>
     <td>
      <img title="縮小" style="cursor: hand" onClick="smallit();" height="20" src="images/zoom_out.gif"
       width="20">
     </td>
     <td>&nbsp;
      
     </td>
    </tr>
   </tbody>
  </table>
 </div>
 <p>
  <br>
 </p>
 <div id="hiddenPic" style="z-index: 1; left: 0px; visibility: hidden; width: 0px;
  position: absolute; top: 150px; height: 0px">
  <img src="http://ww2.sinaimg.cn/large/adde8400gw1eeazlmtqa8j20qd0mdadm.jpg" border="0" name="images2">
 </div>
 <div class="dragAble" id="block1" onMouseOver="dragObj=block1; drag=1;" style="z-index: 10;
  left: 0px; width: 0px; position: absolute; top: 150px; height: 0px" onMouseOut=""
  drag="0">
  <img onmousewheel="return onWheelZoom(this)" style="zoom: 0.7" src="images/adde8400gw1eeazlmtqa8j20qd0mdadm.jpg"
   border="0" name="images1">
 </div>
<div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';">
</div>
</body>
</html>

核心代碼如下:

function onWheelZoom(obj){ //滾輪縮放
 zoom = parseFloat(obj.style.zoom);
 tZoom = zoom + (event.wheelDelta>0 ? 0.05 : -0.05);
 if(tZoom<0.1 ) return true;
 obj.style.zoom=tZoom;
 return false;
}

js關(guān)鍵代碼:

drag = 0
move = 0

var ie=document.all;
var nn6=document.getElementById&&!document.all;
var isdrag=false;
var y,x;
var oDragObj;

function moveMouse(e) {
 if (isdrag) {
 oDragObj.style.top = (nn6 ? nTY + e.clientY - y : nTY + event.clientY - y)+"px";
 oDragObj.style.left = (nn6 ? nTX + e.clientX - x : nTX + event.clientX - x)+"px";
 return false;
 }
}

function initDrag(e) {
 var oDragHandle = nn6 ? e.target : event.srcElement;
 var topElement = "HTML";
 while (oDragHandle.tagName != topElement && oDragHandle.className != "dragAble") {
 oDragHandle = nn6 ? oDragHandle.parentNode : oDragHandle.parentElement;
 }
 if (oDragHandle.className=="dragAble") {
 isdrag = true;
 oDragObj = oDragHandle;
 nTY = parseInt(oDragObj.style.top+0);
 y = nn6 ? e.clientY : event.clientY;
 nTX = parseInt(oDragObj.style.left+0);
 x = nn6 ? e.clientX : event.clientX;
 document.onmousemove=moveMouse;
 return false;
 }
}
document.onmousedown=initDrag;
document.onmouseup=new Function("isdrag=false");

function clickMove(s){
 if(s=="up"){
 dragObj.style.top = parseInt(dragObj.style.top) + 100;
 }else if(s=="down"){
 dragObj.style.top = parseInt(dragObj.style.top) - 100;
 }else if(s=="left"){
 dragObj.style.left = parseInt(dragObj.style.left) + 100;
 }else if(s=="right"){
 dragObj.style.left = parseInt(dragObj.style.left) - 100;
 }

}

function smallit(){   
 var height1=images1.height;   
 var width1=images1.width;   
 images1.height=height1/1.2;   
 images1.width=width1/1.2;   
}    
 
function bigit(){   
 var height1=images1.height;   
 var width1=images1.width;   
 images1.height=height1*1.2;   
 images1.width=width1*1.2;   
}    
function realsize()
{
 images1.height=images2.height;  
 images1.width=images2.width;
 block1.style.left = 0;
 block1.style.top = 0;
 
}
function featsize()
{
 var width1=images2.width;   
 var height1=images2.height;   
 var width2=701;   
 var height2=576;   
 var h=height1/height2;
 var w=width1/width2;
 if(height1<height2&&width1<width2)
 {
 images1.height=height1;   
 images1.width=width1;   
 }
 else
 {
 if(h>w)
 {
 images1.height=height2;   
 images1.width=width1*height2/height1;   
 }
 else
 {
 images1.width=width2;   
 images1.height=height1*width2/width1;   
 }
 }
 block1.style.left = 0;
 block1.style.top = 0;
}

function onWheelZoom(obj){ //滾輪縮放
zoom = parseFloat(obj.style.zoom);
tZoom = zoom + (event.wheelDelta>0 ? 0.05 : -0.05);
if(tZoom<0.1 ) return true;
obj.style.zoom=tZoom;
return false;
}

以上就是為大家分享的js實現(xiàn)圖片放大和拖拽特效代碼,希望大家可以喜歡。

相關(guān)文章

  • 微信小程序輪播圖swiper代碼詳解

    微信小程序輪播圖swiper代碼詳解

    swiper組件是滑塊視圖容器,主要用來做圖片輪播。這篇文章主要給大家介紹了關(guān)于微信小程序輪播圖swiper代碼的相關(guān)資料,需要的朋友可以參考下
    2020-12-12
  • 用JavaScript 判斷用戶使用的是 IE6 還是 IE7

    用JavaScript 判斷用戶使用的是 IE6 還是 IE7

    判斷IE瀏覽器的腳本,方便根據(jù)瀏覽器不懂,支持不同的代碼的分別調(diào)用。
    2008-01-01
  • JavaScript實現(xiàn)帶緩沖效果的隨屏滾動漂浮廣告代碼

    JavaScript實現(xiàn)帶緩沖效果的隨屏滾動漂浮廣告代碼

    這篇文章主要介紹了JavaScript實現(xiàn)帶緩沖效果的隨屏滾動漂浮廣告代碼,通過JavaScript結(jié)合時間函數(shù)動態(tài)響應(yīng)頁面元素滾動事件實現(xiàn)懸浮廣告的緩沖漂浮效果,非常簡單實用,需要的朋友可以參考下
    2015-11-11
  • 千萬別錯過的JavaScript?sort方法使用指南

    千萬別錯過的JavaScript?sort方法使用指南

    sort方法在我們的日常開發(fā)中是經(jīng)常使用的,sort方法一般是用來對數(shù)組進行排序的,但是你是否知道sort方法默認是按什么方式排序的呢?下面就和我一起來深入了解sort方法吧
    2023-05-05
  • Bootstrap下拉菜單效果實例代碼分享

    Bootstrap下拉菜單效果實例代碼分享

    這篇文章主要為大家詳細介紹了Bootstrap下拉菜單效果實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • weebox彈出窗口不居中顯示的解決方法

    weebox彈出窗口不居中顯示的解決方法

    這篇文章主要為大家詳細介紹了weebox彈出窗口不居中顯示的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 通過js控制時間,一秒一秒自己動的實例

    通過js控制時間,一秒一秒自己動的實例

    下面小編就為大家?guī)硪黄ㄟ^js控制時間,一秒一秒自己動的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • js前端如何寫一個精確的倒計時代碼

    js前端如何寫一個精確的倒計時代碼

    關(guān)于寫倒計時大家可能都都比較熟悉,使用 setTimeout 或 setInterval 就可以搞定。幾秒鐘或者幾分鐘的倒計時這樣寫沒有問題,但是如果是長時間的倒計時,這樣寫就會不準(zhǔn)確
    2019-10-10
  • js 調(diào)用父窗口的具體實現(xiàn)代碼

    js 調(diào)用父窗口的具體實現(xiàn)代碼

    想要實現(xiàn)如題所示:父窗體需要頂一個show()方法,具體實現(xiàn)代碼如下,感興趣的朋友可以參考下哈,希望對大家有所幫助
    2013-07-07
  • JS簡單實現(xiàn)浮動窗口效果示例

    JS簡單實現(xiàn)浮動窗口效果示例

    這篇文章主要介紹了JS簡單實現(xiàn)浮動窗口效果,涉及javascript操作浮動窗口的創(chuàng)建、打開、關(guān)閉等相關(guān)操作技巧,需要的朋友可以參考下
    2016-09-09

最新評論