类似于图片预览中的图片放大缩小功能
2020-02-05 05:15
489 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>set image size</title>
<style>
*{
margin:0;
padding:0;
}
.zoomin{
cursor:url('images/Discaz.cur'),auto;
}
.zoomout{
cursor:url('images/11.cur'),auto;
}
</style>
<script type="text/javascript" src="js/jquery-1.5.min.js"></script>
<script>
jQuery(function($){
var img,imgH,imgW,winH,winW,pre;
function loadImage(url, callback) {
img = new Image(); //创建一个Image对象,实现图片的预下载
img.src = url;
if (img.complete) { // 如果图片已经存在于浏览器缓存,直接调用回调函数
callback.call(img);
return; // 直接返回,不用再处理onload事件
}
img.onload = function () { //图片下载完毕时异步调用callback函数。
callback.call(img);//将回调函数的this替换为Image对象
};
}
function runImageFunc(){
loadImage('images/001.jpg', setImage);
}
function setImage(){
imgH = img.height;
imgW = img.width;
pre = imgH / imgW;
winH = $(window).height();
winW = $(window).width();
if(imgH <= winH && imgW <= winW){
return;
}else{
winSize();
$('img').addClass('zoomin');
}
}
function winSize(){
var outH,outW;
if(winH < winW){
outH = winH;
outW = winH / pre;
if(outW > winW){
outW = winW;
outH = winW * pre;
}
$('img').width(outW);
$('img').height(outH);
}else{
outW = winW;
outH = winW * pre;
if(outH > winH){
outH = winH;
outW = winH / pre;
}
$('img').height(outH);
$('img').width(outW);
}
}
runImageFunc();
//window.onresize = runImageFunc;
$('img').toggle(
function(){
$('img').height(imgH);
$('img').width(imgW);
if($('img').hasClass('zoomin')){
$('img').removeClass('zoomin');
}
$('img').addClass('zoomout');
},
function(){
winH = $(window).height();
winW = $(window).width();
winSize();
if($('img').hasClass('zoomout')){
$('img').removeClass('zoomout');
}
$('img').addClass('zoomin');
}
);
});
</script>
</head>
<body>
<img src="images/001.jpg" alt="" />
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>set image size</title>
<style>
*{
margin:0;
padding:0;
}
.zoomin{
cursor:url('images/Discaz.cur'),auto;
}
.zoomout{
cursor:url('images/11.cur'),auto;
}
</style>
<script type="text/javascript" src="js/jquery-1.5.min.js"></script>
<script>
jQuery(function($){
var img,imgH,imgW,winH,winW,pre;
function loadImage(url, callback) {
img = new Image(); //创建一个Image对象,实现图片的预下载
img.src = url;
if (img.complete) { // 如果图片已经存在于浏览器缓存,直接调用回调函数
callback.call(img);
return; // 直接返回,不用再处理onload事件
}
img.onload = function () { //图片下载完毕时异步调用callback函数。
callback.call(img);//将回调函数的this替换为Image对象
};
}
function runImageFunc(){
loadImage('images/001.jpg', setImage);
}
function setImage(){
imgH = img.height;
imgW = img.width;
pre = imgH / imgW;
winH = $(window).height();
winW = $(window).width();
if(imgH <= winH && imgW <= winW){
return;
}else{
winSize();
$('img').addClass('zoomin');
}
}
function winSize(){
var outH,outW;
if(winH < winW){
outH = winH;
outW = winH / pre;
if(outW > winW){
outW = winW;
outH = winW * pre;
}
$('img').width(outW);
$('img').height(outH);
}else{
outW = winW;
outH = winW * pre;
if(outH > winH){
outH = winH;
outW = winH / pre;
}
$('img').height(outH);
$('img').width(outW);
}
}
runImageFunc();
//window.onresize = runImageFunc;
$('img').toggle(
function(){
$('img').height(imgH);
$('img').width(imgW);
if($('img').hasClass('zoomin')){
$('img').removeClass('zoomin');
}
$('img').addClass('zoomout');
},
function(){
winH = $(window).height();
winW = $(window).width();
winSize();
if($('img').hasClass('zoomout')){
$('img').removeClass('zoomout');
}
$('img').addClass('zoomin');
}
);
});
</script>
</head>
<body>
<img src="images/001.jpg" alt="" />
</body>
</html>
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 类似与腾讯微薄的图片放大缩小功能
- Winform窗体图片的拖动,放大,缩小,复位,打印预览,鼠标滑轮的放大缩小
- 图片浏览功能 图片放大缩小
- js两只手指控制div图片放大缩小功能(2)
- 网页实现多图片上传,预览,放大等功能
- Android多点触控实现对图片放大缩小平移,惯性滑动等功能
- Android多点触控技术,实现对图片的放大缩小平移,惯性滑动等功能
- Qt 图片浏览器 实现图片的放大缩小翻转等功能
- Android多点触控技术,实现对图片的放大缩小平移,惯性滑动等功能
- Javascript实现图片的移动,图片的放大,图片缩小功能
- webview中图片加载,添加放大缩小功能
- vue实现裁切图片同时实现放大、缩小、旋转功能
- JavaScript实现图片的放大缩小及拖拽功能示例
- jslider(拖动条)图片放大缩小功能(2012.4.03)
- Android-图片预览(自定义ImageView 封装(jar): 图片放大缩小,自由移动,双击放大,多点触控)
- 图片预览、上传、剪裁(类似于CSDN的头像上传功能)
- 微信小程序实现图片放大预览功能
- 图片浏览器功能的实现(一)——图片放大与缩小功能实现
- ViewPager图片预览之图片的放大缩小,移动,切换(第一课)连载
- Extjs 查看图片并添加放大缩小功能