jquery实现移动端点击图片查看大图特效


Posted in Javascript onSeptember 11, 2020

本文的需求很简单:点击图片查看大图,再点大图隐藏。多用于移动端,因为移动端屏幕小,可能需要查看大图。

具体实现代码

<!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实现移动端点击图片查看大图特效

jquery实现移动端点击图片查看大图特效需要用到的技巧
需要点击图片中1、2、3、4四张小图分别查看大图,而下面左右按钮切换时是需要同时切换4张小图。

jquery实现移动端点击图片查看大图特效

因为移动端无法添加热点,最终一个解决方法是使用四个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;
}

以上就是移动端点击图片查看大图的实现过程,希望对大家的学习有所帮助。

Javascript 相关文章推荐
js中获取事件对象的方法小结
Mar 13 Javascript
js弹出层之1:JQuery.Boxy (二)
Oct 06 Javascript
设置checkbox为只读(readOnly)的两种方式
Oct 11 Javascript
JS的location.href跳出框架打开新页面的方法
Sep 04 Javascript
javascript实现表单提交后,提交按钮不可用的方法
Apr 18 Javascript
jQuery原生的动画效果
Jul 10 Javascript
不得不分享的JavaScript常用方法函数集(下)
Dec 25 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
Jan 14 Javascript
Node.js实现JS文件合并小工具
Feb 02 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
Apr 08 Javascript
Angular.JS学习之依赖注入$injector详析
Oct 20 Javascript
jfinal与bootstrap的登出实战详解
Nov 27 Javascript
jquery解析json格式数据的方法(对象、字符串)
Nov 24 #Javascript
Bootstrap每天必学之按钮(一)
Nov 24 #Javascript
JavaScript DOM 学习总结(五)
Nov 24 #Javascript
jQuery解析json数据实例分析
Nov 24 #Javascript
全面解析Bootstrap表单使用方法(表单按钮)
Nov 24 #Javascript
全面解析Bootstrap表单使用方法(表单控件状态)
Nov 24 #Javascript
jQuery解析Json实例详解
Nov 24 #Javascript
You might like
默默小谈PHP&amp;MYSQL分页原理及实现
2007/01/02 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
PHP常用正则表达式精选(推荐)
2019/05/28 PHP
安装docker和docker-compose实例详解
2019/07/30 PHP
深入分析PHP设计模式
2020/06/15 PHP
jQuery .tmpl(), .template()学习资料小结
2011/07/18 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
2013/04/20 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
vue.js指令和组件详细介绍及实例
2017/04/06 Javascript
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
JS如何设置元素样式的方法示例
2017/08/28 Javascript
vue组件实现进度条效果
2018/06/06 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
Vuex实现数据共享的方法
2019/12/20 Javascript
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
浅析python 中__name__ = '__main__' 的作用
2014/07/05 Python
Python自动连接ssh的方法
2015/03/07 Python
让python 3支持mysqldb的解决方法
2017/02/14 Python
python利用requests库进行接口测试的方法详解
2018/07/06 Python
Python大数据之使用lxml库解析html网页文件示例
2019/11/16 Python
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
新西兰最大的在线设计师眼镜店:SmartBuyGlasses新西兰
2017/10/20 全球购物
决定成败的关键——创业计划书
2014/01/24 职场文书
新学期决心书
2014/03/11 职场文书
小学教代会开幕词
2016/03/04 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
PHP控制循环操作的时间
2021/04/01 PHP
SQL Server #{}可以防止SQL注入
2022/05/11 SQL Server