[jQuery]地图浏览:如何实现图片的放大缩小和点击之后的位置居中
2013-06-29 16:08
871 查看
HTML代码:
JS代码:
css代码:
最终效果:
点击放大按钮:
点击图片的任意位置:
<!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script> <link rel="stylesheet" href="style.css" type="text/css" /> <script type='text/javascript' src='script.js'></script> </head> <body> <img id="back" name="back" src="back.jpg" alt = "背景"/> <div> <div id="larger" class="size_btn"><img src="+.png" alt="+"></div> <div id="smaller" class="size_btn"><img src="-.png" alt="+"></div> </div> </body> </html>
JS代码:
$(document).ready(function(){ /******** 先将图片居中并完全显示 ********/ var proportion = 1; if($(window).width() / $('#back').width() < $(window).height() / $('#back').height()) proportion = $(window).width()/$('#back').width(); else proportion = $(window).height()/$('#back').height(); var back_width = $('#back').width() * proportion; var back_height = $('#back').height() * proportion; var back_left = ($(window).width() - back_width)/2; var back_top = ($(window).height() - back_height)/2; $('#back').width(back_width); $('#back').height(back_height); $("#back").offset({left:back_left,top:back_top}); //放大缩小操作时的尺寸变化 var sizeX = back_width/10; var sizeY = back_height/10; //放大缩小操作时的位置变化 var moveX = sizeX/2; var moveY = sizeY/2; //点击放大按钮 $('#larger').click(function(){ $('#back').height("+=" + sizeX); $('#back').width("+=" + sizeY); $("#back").offset(function(n,c){ newPos = new Object(); newPos.left = c.left-moveX; newPos.top = c.top-moveY; return newPos; }); }); //点击缩小按钮 $('#smaller').click(function(){ $('#back').height("-=" + sizeX); $('#back').width("-=" + sizeY); $("#back").offset(function(n,c){ newPos = new Object(); newPos.left = c.left + moveX; newPos.top = c.top + moveY; return newPos; }); }); //点击图片 $('#back').click(function(event){ var x=($(window).width()/2) - event.clientX + $("#back").offset().left; var y=($(window).height()/2) - event.clientY + $("#back").offset().top; $("#back").animate({left:x,top:y}); }); });
css代码:
#back{ left: 0px; top: 0px; position:absolute; z-index:-1; } .size_btn{ position:absolute; height:30px; width:30px; } #larger{ } #smaller{ top:60px; }
最终效果:
点击放大按钮:
点击图片的任意位置:
相关文章推荐
- [jQuery]地图浏览:如何实现图片的放大缩小和点击之后的位置居中
- 实现类似于QQ空间相册的点击图片放大,再点后缩小回原来位置
- 实现类似于QQ空间相册的点击图片放大,再点后缩小回原来位置
- 如何用Jquery实现 ,比如点击图片之后 ,该图片变成向下的箭头,再点击向下箭头的图片 又变成原始图片呢
- 基于jquery实现一张图片点击鼠标放大再点缩小
- 如何实现点击图片之后放大,或缩放功能。
- 实例讲解如何利用jQuery设置图片居中放大或者缩小
- 基于jquery实现一张图片点击鼠标放大再点缩小
- 利用html和Jquery实现照片墙(点击之后放大,再点击缩小)
- UI_如何实现点击图片之后放大,或缩放功能
- 实现类似于QQ空间相册的点击图片放大,再点后缩小回原来位置
- 图片放大功能如何做?jquery实现
- 如何用jquery实现点击后跳到页面指定位置
- 使用jquery-panzoom来实现图片或元素的放大缩小
- js实现多张图片同时放大缩小相对位置不变
- 如何实现在一个界面上点击不同的位置,会有跳转到不同的Activity上(假设背景是一个图片)
- 如何用jquery实现点击后跳到页面指定位置
- jquery点击图片进行放大缩小
- canvas画一个图片,并实现点击按钮上移下移左移右移放大缩小
- 前端jquery实现图片点击放大缩小