निम्नलिखित कोड में, छवि माउस क्लिक बिंदु पर बढ़ाया गया है - छवि को बढ़ाया गया है, लेकिन जिस बिंदु पर आपने क्लिक किया है वह आपके माउस कर्सर के नीचे रहता है, और फ्रेम का आकार वही रहता है। मूल प्रदर्शन अनुपात पर वापस जाने के लिए राइट-क्लिक करें।
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<style>
div {
width: 400px;
height: 600px;
overflow: hidden;
}
img {
position: relative
}
</style>
<script src="http://code.jquery.com/jquery-1.7.2.js"></script>
<script type="text/javascript">
var imageOffset_x = 0;
var imageOffset_y = 0;
function onZoom()
{
var mouseInFrame_x = event.x;
var mouseinFrame_y = event.y;
var mouseInImage_x = imageOffset_x + mouseInFrame_x;
var mouseInImage_y = imageOffset_y + mouseinFrame_y;
imageOffset_x += mouseInImage_x * 0.16;
imageOffset_y += mouseInImage_y * 0.16;
var image = $('#container img');
var imageWidth = image.width();
var imageHeight = image.height();
image.css({
height: imageHeight * 1.2,
width: imageWidth * 1.2,
left: -imageOffset_x,
top: -imageOffset_y
});
}
function onRightClick() {
imageOffset_x = 0;
imageOffset_y = 0;
$('#container img').css({
height: 600,
width: 400,
left: 0,
top: 0
});
return false;
}
</script>
</head>
<body>
<a id="zoom" href="#" onclick="onZoom();">Zoom</a>
<div id="container">
<img src="~/Images/Sampple.jpg" width="400" height="600" onclick="onZoom();" oncontextmenu="onRightClick(); return false;"/>
</div>
</body>
</html>
स्रोत
2016-12-20 10:53:08
क्या आप इसे HTML/CSS विधियों के साथ ज़ूम करना चाहते हैं या आप सर्वर से उचित रूप से स्केल की गई छवि को फिर से लोड करना चाहते हैं? – Boldewyn
afaik, ज़ूम संपत्ति मानकीकृत नहीं है और यह क्रॉस ब्राउज़र संगत नहीं होगा। –
नहीं, मुझे केवल सीएसएस/जावास्क्रिप्ट समाधान कोई सर्वर साइड इंटरैक्शन नहीं चाहिए। – sat