jquery实现移动端点击图片查看大图特效
2015-11-24 00:00
1036 查看
本文的需求很简单:点击图片查看大图,再点大图隐藏。多用于移动端,因为移动端屏幕小,可能需要查看大图。
具体实现代码
<!DOCTYPE html> <html> <meta charset="utf-8"/> <head runat="server"> <title>JQuery点击图片查看大图by starof</title> <style type="text/css"> .exampleImg { height:100px; cursor:pointer;} </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> //alert($); // (function (window, undefined) { // var MyJQuery = function () { // window.MyjQuery = window.$ = jQuery; window.$ = MyJQuery; // }; // })(window); // alert($); $.fn.ImgZoomIn = function () { bgstr = '<div id="ImgZoomInBG" style=" background:#000000; filter:Alpha(Opacity=70); opacity:0.7; position:fixed; left:0; top:0; z-index:10000; width:100%; height:100%; display:none;"><iframe src="about:blank" frameborder="5px" scrolling="yes" style="width:100%; height:100%;"></iframe></div>'; //alert($(this).attr('src')); imgstr = '<img id="ImgZoomInImage" src="' + $(this).attr('src')+'" onclick=$(\'#ImgZoomInImage\').hide();$(\'#ImgZoomInBG\').hide(); style="cursor:pointer; display:none; position:absolute; z-index:10001;" />'; if ($('#ImgZoomInBG').length < 1) { $('body').append(bgstr); } if ($('#ImgZoomInImage').length < 1) { $('body').append(imgstr); } else { $('#ImgZoomInImage').attr('src', $(this).attr('src')); } //alert($(window).scrollLeft()); //alert( $(window).scrollTop()); $('#ImgZoomInImage').css('left', $(window).scrollLeft() + ($(window).width() - $('#ImgZoomInImage').width()) / 2); $('#ImgZoomInImage').css('top', $(window).scrollTop() + ($(window).height() - $('#ImgZoomInImage').height()) / 2); $('#ImgZoomInBG').show(); $('#ImgZoomInImage').show(); }; $(document).ready(function () { $("#imgTest").bind("click", function () { $(this).ImgZoomIn(); }); }); </script> </head> <body> <div> <!--第一种写法--> <img class="exampleImg" src="images/03.jpg" id="imgTest"/> <!--第二种写法--> <img class="exampleImg" src="images/p1_nav2.png" onClick="$(this).ImgZoomIn();"/> </div> </body> </html>
jquery实现移动端点击图片查看大图特效需要用到的技巧
需要点击图片中1、2、3、4四张小图分别查看大图,而下面左右按钮切换时是需要同时切换4张小图。
因为移动端无法添加热点,最终一个解决方法是使用四个a标签定位到左上角,右上角,左下角,右下角四个区域。
<dl> <dd style="display:block;"> <img src="images/four-duche.jpg" onClick="$(this).ImgZoomIn();"> <a href="javascript:;" src="images/11.jpg" class="topleft" onClick="$(this).ImgZoomIn();"></a> <a href="javascript:;" src="images/12.jpg" class="topright" onClick="$(this).ImgZoomIn();"></a> <a href="javascript:;" src="images/13.jpg" class="bottomleft" onClick="$(this).ImgZoomIn();"></a> <a href="javascript:;" src="images/14.jpg" class="bottomright" onClick="$(this).ImgZoomIn();"></a> </dd> ... </dl>
css
.topleft,.topright,.bottomleft,.bottomright{ width:50%; height:50%; position:absolute; } .topleft{ /*background-color:red;*/ top:0; left:0; } .topright{ /*background-color:green;*/ top:0; right:0; } .bottomleft{ /*background-color:blue;*/ bottom:0; left:0; } .bottomright{ /*background-color:yellow;*/ bottom:0; right:0; }
以上就是移动端点击图片查看大图的实现过程,希望对大家的学习有所帮助。
相关文章推荐
- 超漂亮的jQuery图片轮播特效
- Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
- 基于jquery实现日历签到功能
- jQuery实现带分组数据的Table表头排序实例分析
- jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
- Jquery ajax加载等待执行结束再继续执行下面代码操作
- jQuery插件实现无缝滚动特效
- 基于jquery实现简单的手风琴特效
- JQuery技术详解
- JQuery插件之Cookie
- jquery工具类函数
- jquery常用插件
- jquery 操作表格实例
- 利用JOSN和Jquery写省市级联
- jquery学习总结
- jQueryEasyUi行编辑打造增删改查
- 浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
- (function($){...})(jQuery)是什么意思
- jquery图片时钟
- jquery常见获取高度