zoukankan      html  css  js  c++  java
  • 滑动显示大图升级版

    之前做了一个滑动展示大图片的demo,之后在大神博客发现大神也做过一个类似的插件。

    于是把插件摘了下来研究了一下。

    改动了插件显示文本的部分并增加了一点注释。效果比我的好用。

    点击看效果demo

    插件源码如下:

      

    (function($){
    	$.fn.preview = function(){
    		var xOffset = 10; //横向偏移量
    		var yOffset = 20; //纵向偏移量
    		var w = $(window).width(); //页面宽度
    		$(this).each(function(){
    			$(this).hover(function(e){
    
    				//检测图片和文字来生成不同的容器
    				if(/.png$|.gif$|.jpg$|.bmp$/.test($(this).attr("href"))){
    					$("body").append("<div id='preview'><div><img src='"+$(this).attr('href')+"' /><p>"+$(this).attr('title')+"</p></div></div>");
    				}else{
    					$("body").append("<div id='preview'><div><p>"+$(this).text()+"</p></div></div>");
    				}
    				$("#preview").css({
    					position:"absolute",
    					padding:"4px",
    					border:"1px solid #f3f3f3",
    					backgroundColor:"#eeeeee",
    					top:(e.pageY - yOffset) + "px", //鼠标位置减去纵向偏移量来定位到鼠标偏上的位置
    					zIndex:1000
    				});
    				$("#preview > div").css({
    					padding:"5px",
    					backgroundColor:"white",
    					border:"1px solid #cccccc"
    				});
    				$("#preview > div > p").css({
    					textAlign:"center",
    					fontSize:"12px",
    					padding:"8px 0 3px",
    					margin:"0"
    				});
    				if(e.pageX < w/2){
    
    					//鼠标在页面左侧则靠左展示淡入
    					$("#preview").css({
    						left: e.pageX + xOffset + "px",
    						right: "auto"
    					}).fadeIn("fast");
    				}else{
    
    					//鼠标在右边则靠左展示淡入
    					$("#preview").css("right",(w - e.pageX + yOffset) + "px").css("left", "auto").fadeIn("fast");	
    				}
    			},function(){
    
    				//鼠标移出则删除
    				$("#preview").remove();
    			}).mousemove(function(e){
    
    				//在a元素上移动时进行位置改变
    				$("#preview").css("top",(e.pageY - xOffset) + "px")
    				if(e.pageX < w/2){
    					$("#preview").css("left",(e.pageX + yOffset) + "px").css("right","auto");
    				}else{
    					$("#preview").css("right",(w - e.pageX + yOffset) + "px").css("left","auto");
    				}
    			});						  
    		});
    	};
    })(jQuery);
    

      demo源码如下

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>图片放大显示的jQuery插件演示页面</title>
    <link rel="stylesheet" href="../css/common.css" type="text/css" />
    <script type="text/javascript" src="../js/jquery-1.2.6.pack.js"></script>
    <script type="text/javascript" src="../js/jquery.imagePreview.1.0.js"></script>
    <script type="text/javascript">
    $(function(){
    	$("a.preview").preview();	  
    });
    </script>
    <style type="text/css">
    html{overflow-y:scroll;}
    a.preview,a.preview:hover{text-decoration:none;}
    a.preview img{margin:20px 10px;}
    .img-list{
        padding:1em; 
        font-size:1.1em; 
        border-bottom:1px dashed #cccccc; 
        line-height:1.4; 
        overflow:hidden; 
        zoom:1;
    }
    </style>
    </head>
    
    <body>
        <div class="demo-container">
            <h3 class="method-title">图片放大显示的jQuery插件演示页面</h3>
            <div class="img-list">
                <a class="preview" href="../../images/imgbig1.jpg">
                    <img src="../../images/imgcommon1.jpg" />
                </a>
                <a class="preview" href="../../images/imgbig2.jpg">
                    <img src="../../images/imgcommon2.jpg" />
                </a>
                <a class="preview" href="../../images/imgbig3.jpg">
                    <img src="../../images/imgcommon3.jpg" />
                </a>
                <a class="preview" href="../../images/imgbig4.jpg">
                    <img src="../../images/imgcommon4.jpg" />
                </a>
                <a class="preview" href="../../images/imgbig5.jpg">
                    <img src="../../images/imgcommon5.jpg" />
                </a>
                <p>
                    <a class="preview" href="http://www.zhangxinxu.com">请勿点击</a>
                </p>
            </div>
        </div>
    </body>
    </html>
    

      效果图如下

      

  • 相关阅读:
    sql server 检测是否更新并输出更新的数据
    SQL Cross Join
    使用editplus删除 telepro的标记
    201671010104 初学Java的感想以及认知
    201671010104学习Java心得
    201671010104学习Java程序设计进度条
    从 URL 调用 WebService
    初识 Adobe AIR
    Adobe AIR 初体验:第一个Adobe AIR 的项目
    Float元素父容器在Firefox中自动撑大的方法
  • 原文地址:https://www.cnblogs.com/lemon-zhang/p/7998805.html
Copyright © 2011-2022 走看看