用js实现图的缩放和拖动显示,

本文介绍了一个使用HTML、CSS及JavaScript实现的简单图片拖动与缩放功能。通过鼠标操作可以改变背景图片的位置,点击加减按钮切换不同的图片。此示例展示了如何结合前端技术实现交互式的用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
<title>无标题文档</title>
<linkhref="main.css"rel="stylesheet"type="text/css"/>

</head>

<body>

<tablewidth="600"border="0">
<tr>
<tdwidth="500"height="500"><divid="pic1"onmousedown="down()"onmouseup="up()"></div></td>
<td><ahref="javascript:add()">+</a><br/>
<ahref="javascript:dec()">-</a></td>

</tr>
</table>

<scriptlanguage="JavaScript"type="text/javascript">...
picInfo
=[
...{x:722,y:513,url:"img/001.jpg"},
...{x:1445,y:1027,url:"img/002.jpg"},
...{x:2889,y:2053,url:"img/003.jpg"}
];
downx
=0;
downy
=0;
currImg
=0;

functionsetPic()...{
varpicObj=document.getElementById("pic1");
picObj.style.backgroundImage
="url("+picInfo[currImg].url+")";
}

functionadd()...{
currImg
=currImg+1;
if(currImg>=picInfo.length-1)
currImg
=picInfo.length-1;
setPic();
}

functiondec()...{
currImg
=currImg-1;
if(currImg<0)
currImg
=0;
setPic();
}

functiondown()...{
varpicObj=document.getElementById("pic1");
downx
=parseInt(event.clientX);
downy
=parseInt(event.clientY);
picObj.style.cursor
="hand";

}

functionup()...{
varcurrentX,currentY;
varpicObj=document.getElementById("pic1");
setPic();
//alert("x="+(downx-parseInt(event.clientX))+";y="+(downy-parseInt(event.clientY)));
if(picObj.style.backgroundPositionX=="")
currentX
=0;
else...{
currentX
=parseInt(picObj.style.backgroundPositionX);
}

if(picObj.style.backgroundPositionY=="")
currentY
=0;
else...{
currentY
=parseInt(picObj.style.backgroundPositionY);
}


varmoveX=currentX+parseInt(event.clientX)-downx;
varmoveY=currentY+parseInt(event.clientY)-downy;

if(moveX>0)...{
moveX
=0;
}
else
...{
if(500-moveX>picInfo[currImg].x)
moveX
=-(picInfo[currImg].x-500);
}


if(moveY>0)...{
moveY
=0;
}
else
...{
if(500-moveY>picInfo[currImg].y)
moveY
=-(picInfo[currImg].y-500);
}


picObj.style.backgroundPositionY
=moveY+"px";
picObj.style.backgroundPositionX
=moveX+"px";
picObj.style.cursor
="auto";

}

setPic();
</script>
</body>


</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值