移动端点击图片查看大图

一、需求

点击图片查看大图,再点大图隐藏。多用于移动端,因为移动端屏幕小,可能需要查看大图。

二、代码

<!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>

三、技巧

需要点击图片中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;
}

本文作者starof,因知识本身在变化,作者也在不断学习成长,文章内容也不定时更新,为避免误导读者,方便追根溯源,请诸位转载注明出处:http://www.cnblogs.com/starof/p/4924822.html有问题欢迎与我讨论,共同进步。

时间: 2024-12-21 17:23:16

移动端点击图片查看大图的相关文章

WKWebview点击图片查看大图

大家都知道,WKWebview是没有查看大图的属性或者方法的,所以只能通过js与之交互来实现这一功能,原理:通过js获取页面的图片,把它存放到数组,给图片添加点击事件,通过index显示大图就行了 其实很简单,给WKWebview写个类别,添加两个方法就行了,然后在WKWebview的两个协议中调用下这两个方法就行了 首先声明个数组来接收图片数组,可是有个问题,那就是类别是声明不了属性的,那怎么办呢?我们可以通过runtime来设置属性,runtime非常有用,我们以后的篇章会说到. stati

js点击图片查看大图,并可以拖动,且滚动滑轮放大缩小

JQuery function hideMax(){ $(".MAX_div").remove(); $("#Cover_Div").hide(); } function showMax(url){ $("#Cover_Div").show(); var Image=function(){ return document.createElement("img"); } var DIV=function(){ return do

android开发:点击缩略图查看大图

android中点击缩略图查看大图的方法一般有两种,一种是想新浪微博list页面那样,弹出一个窗口显示大图(原activity为背景).另一种就是直接打开一个新的activity显示大图. 1.第一种方法我们可以使用自定义的AlertDialog来实现,代码如下: ImageView image=(ImageView)findViewById(R.id.small_image); image.setOnClickListener(new OnClickListener() { // 点击放大 p

每天一个JavaScript实例-点击图片显示大图添加鼠标操作

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-点击图片显示大图添加鼠标操作</title> <style> img{padding:5px;width:100px;height:aut

每天一个JavaScript实例-点击图片显示大图

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-点击图片显示大图</title> <style> img{padding:5px;width:100px;height:auto;} #o

ionic中点击图片看大图的实现

在页面上显示了几张图片后,因为是手机端,图片会有点小的感觉,就想着怎么样才能让用户点击小图片看到大图呢,项目中ionic结合angularjs实现了这个功能 1.首先是三张小图上应添加一个函数,当点击图片时触发大图,代码如下: HTML: <div class="row padding"> <div class="col" style="width: 100px;height: 100px;padding:3px;-webkit-box-

iOS点击cell查看大图,点击大图还原小图-b

一.项目需求 用collectionView展示很多照片,点击某个照片,用全屏scrollView无限循环的方式查看图片.点击放大的图片,图片缩小到原先的尺寸. 如图gif1.gif所示,点击中间的图片,放大图片,滑动图片.再点击大图,图片回到相应的位置. gif1.gif 如图gif2.gif所示.当前显示的图片不在屏幕中,点击大图后,若图片在屏幕顶部,则回到顶部:若在底部,则回到底部. gif2.gif 二.常见场景 微博.微信的相册:九宫格展示照片,点击某个图片,图片添加到scrollVi

iOS点击cell查看大图,点击大图还原小图

一.项目需求 用collectionView展示很多照片,点击某个照片,用全屏scrollView无限循环的方式查看图片.点击放大的图片,图片缩小到原先的尺寸. 如图gif1.gif所示,点击中间的图片,放大图片,滑动图片.再点击大图,图片回到相应的位置. gif1.gif 如图gif2.gif所示.当前显示的图片不在屏幕中,点击大图后,若图片在屏幕顶部,则回到顶部:若在底部,则回到底部. gif2.gif 二.常见场景 微博.微信的相册:九宫格展示照片,点击某个图片,图片添加到scrollVi

iOS开发 之 WebView点击图片看大图效果

在webViewDelegate里面添加如下代码: - (void)webViewDidFinishLoad:(UIWebView *)aWebView {     //调整字号     NSString *str = @"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '95%'";     [webView stringByEvaluatingJavaScriptFromString:str]