当前位置 : 主页 > 网络编程 > JavaScript >

picZoomIn-52hz.js

来源:互联网 收集:自由互联 发布时间:2021-06-30
picZoomIn-52hz.js /** * Created by Administrator on 2016/10/19 0019. * 图片点击放大预览效果 */$(function(){ $(".itemImg").click(function(){ //创建全图预览的图片外层元素 var imgbox=" "; //创建关闭全图预览的图标
picZoomIn-52hz.js
/**
 * Created by Administrator on 2016/10/19 0019.
 * 图片点击放大预览效果
 */
$(function(){
    $(".itemImg").click(function(){
        //创建全图预览的图片外层元素
        var imgbox="
 ";
        //创建关闭全图预览的图标
        var cloIcon="";
        $("body").append(imgbox);
        $('.newImgBox').css({"zIndex":'100',"position":"fixed","width":"100%","height":"100%","top":"0","left":"0",
            "border":"solid 2px mediumpurple","background":"rgba(0, 0, 0, 0.45)","box-shadow": "0px 0px 2px 5px white inset"});
        var boxH = $('.newImgBox').css("height");//相框最大高度
        var boxW = $('.newImgBox').css("width");//相框最大宽度
        console.log("boxHeight:"+boxH+",boxWidth:"+boxW);
        var theSrc=$(this).parent().parent().next().attr("src");//原始图片的图片路径
        var theImage = new Image();//创建新图片对象
        theImage.src = theSrc;//指定新图片对象的图片路径
        var imageWidth = theImage.width;//原始图片的宽度
        var imageHeight = theImage.height;//原始图片的高度
        //如果原图图片宽高比大于一,则以宽为是否放大的标准。
        if(imageWidth>imageHeight){
            //如果原始尺寸大于屏幕尺寸 则适当的缩小图片
            if(imageWidth>parseInt(boxW)||imageHeight>parseInt(boxH)){
                //计算缩小图片需要的宽高比
                var wbh=imageWidth/imageHeight;
                var needwbh=wbh*(parseInt(boxH)/parseInt(boxW));
                zoomInW=parseInt(boxW)*needwbh+"px";
                zoomInH=parseInt(boxH)+"px";
            }
            else{
                //放大后的图片尺寸--宽,如果放大后会超出屏幕的宽度,则保持原始图片宽度
                if(imageWidth<=parseInt(boxW)/2){
                    zoomInW=imageWidth*2+"px";
                    zoomInH=imageHeight*2+"px";
                }
                else{
                    zoomInW=imageWidth+"px";
                    zoomInH=imageHeight+"px";
                }
            }
        }
        //如果图片宽高比小于一,则以高为是否放大的标准。
        else{
  		//如果原始尺寸大于屏幕尺寸 则适当的缩小图片
            if(imageWidth>parseInt(boxW)||imageHeight>parseInt(boxH)){
                //计算缩小图片需要的宽高比
                var wbh=imageWidth/imageHeight;
                var needwbh=wbh*(parseInt(boxH)/parseInt(boxW));
                zoomInW=parseInt(boxW)*needwbh+"px";
                zoomInH=parseInt(boxH)+"px";
            }
			else{
				if(imageHeight<=parseInt(boxH)/2){
					zoomInH=imageHeight*2+"px";
					zoomInW=imageWidth*2+"px";
				}
				else{
					//放大后的图片尺寸--高,如果放大后会超出屏幕的高度,则保持原始图片高度
					zoomInH=imageHeight+"px";
					zoomInW=imageWidth+"px";
				}
			}
        }
        var imgWNum=parseInt(zoomInW)/2;//图片宽度数值一半
        var imgHNum=parseInt(zoomInH)/2;//图片高度数值一半
        var ml=-parseInt(zoomInW)/2;//用于水平居中的margin-left
        var mt=-parseInt(zoomInH)/2;//用于垂直居中的margin-top
        var cloIconL=(parseInt(boxW)/2+imgWNum-35)+"px";//关闭全图预览的图标的left
        var cloIconT=(parseInt(boxH)/2-imgHNum+10)+"px";//关闭全图预览的图标的top
        //说明:close图标的位置:top是屏幕高度的一半减去放大后的图片的高度的一半,再减去图标自身高度的一半。(left类似)
        console.log("iconLeft:"+cloIconL+",iconTop:"+cloIconT);
        console.log("w:"+imageWidth+",h:"+imageHeight);
        console.log("neww:"+zoomInW+",newh:"+zoomInH);
        console.log("margin-left:"+ml+",margin-top:"+mt); 
        $('.newImgBox').append(cloIcon);
        $('.cloImgView').css({"zIndex":'1000',"width":"30px","height":"30px","borderRadius":"15px","position":"fixed","left":cloIconL,"top":cloIconT,"cursor":"pointer","background":"black","color":"white","fontSize":"20px"});
        $(theImage).css({"zIndex":'100','width':zoomInW,'height':zoomInH,'position':'absolute','left':'50%','margin-left':ml,'top':'50%','margin-top':mt});
        $('.cloImgView').click(function(){
            $(this).parent().remove();
        });
        $('.newImgBox').append(theImage);
    });
});




/**
*原始尺寸、增加图片循环翻页阅览
*/
zoomOutPic:function (srcs,currIdx) {
    var imgLen = srcs.length,currIndex=currIdx,imageWidth,imageHeight,cloIconL,cloIconT,ml,mt;

    //创建全图预览的图片外层元素
    var imgbox="
 ";
    //创建关闭全图预览的图标
    var cloIcon="";
    //创建前后翻页图标
    var preIcon="";
    var nextIcon="";

    $("body").append(imgbox);
    $('.newImgBox').css({"zIndex":'9999',"position":"fixed","width":"100%","height":"100%","top":"0","left":"0",
        "border":"solid 1px transparent","background":"rgba(0, 0, 0, 0.45)","padding":'15px'});
    var boxH = $('.newImgBox').css("height");//相框最大高度
    var boxW = $('.newImgBox').css("width");//相框最大宽度
    var theImage = new Image();//创建新图片对象
    theImage.id = "WC_ZoomInOut_IMG";
    theImage.src = srcs[currIndex].src;//指定新图片对象的图片路径

    imageWidth = theImage.width;//原始图片的宽度
    imageHeight = theImage.height;//原始图片的高度
    cloIconL=(parseInt(boxW)-45)+"px";//关闭全图预览的图标的left
    cloIconT=parseInt(5)+"px";//关闭全图预览的图标的top
    ml = -imageWidth/2;
    mt = -imageHeight/2;

    console.log('w:',imageWidth,'h:',imageHeight);
    $('.newImgBox').append(cloIcon);
    $('.newImgBox').append(preIcon);
    $('.newImgBox').append(nextIcon);
    $('.cloImgView').css({"zIndex":'99991',"width":"40px","height":"40px","position":"fixed","left":cloIconL,"top":cloIconT,"cursor":"pointer","color":"white"});
    $('.preIcon').css({"zIndex":'99991',"width":"30px","height":"30px","border":"solid 2px #fff","position":"fixed","left":"2%","top":"50%","marginTop":"-15px","cursor":"pointer","color":"white"});
    $('.nextIcon').css({"zIndex":'99991',"width":"30px","height":"30px","border":"solid 2px #fff","position":"fixed","right":"2%","top":"50%","marginTop":"-15px","cursor":"pointer","color":"white"});
    $(theImage).css({"zIndex":'9999','width':imageWidth+'px','height':imageHeight+'px','position':'absolute','left':'50%','margin-left':ml,'top':'50%','margin-top':mt});

    $('.newImgBox').append(theImage);

    /**
     * 关闭图片
     */
    $('.cloImgView').click(function(){
        $("#WC_ZoomInOut_IMG").remove();
        $('.newImgBox').remove();
    });
    /**
     * 向前翻页
     */
    $("#WC_preIcon").on("click",function () {
        $("#WC_ZoomInOut_IMG").remove();
        currIndex = currIndex-1>=0?currIndex-1:imgLen-1;
        console.log(currIndex)

        var theImage = new Image();//创建新图片对象
        theImage.id = "WC_ZoomInOut_IMG";
        theImage.src = srcs[currIndex].src;//指定新图片对象的图片路径

        imageWidth = theImage.width;//原始图片的宽度
        imageHeight = theImage.height;//原始图片的高度
        cloIconL=(parseInt(boxW)-45)+"px";//关闭全图预览的图标的left
        cloIconT=parseInt(5)+"px";//关闭全图预览的图标的top
        ml = -imageWidth/2;
        mt = -imageHeight/2;

        $(theImage).css({"zIndex":'9999','width':imageWidth+'px','height':imageHeight+'px','position':'absolute','left':'50%','margin-left':ml,'top':'50%','margin-top':mt});
        $('.newImgBox').append(theImage);
    })

    /**
     * 向后翻页
     */
    $("#WC_nextIcon").on("click",function () {
        $("#WC_ZoomInOut_IMG").remove();
        currIndex = currIndex+1<=imgLen-1?currIndex+1:0;
        console.log(currIndex)

        var theImage = new Image();//创建新图片对象
        theImage.id = "WC_ZoomInOut_IMG";
        theImage.src = srcs[currIndex].src;//指定新图片对象的图片路径

        imageWidth = theImage.width;//原始图片的宽度
        imageHeight = theImage.height;//原始图片的高度
        cloIconL=(parseInt(boxW)-45)+"px";//关闭全图预览的图标的left
        cloIconT=parseInt(5)+"px";//关闭全图预览的图标的top
        ml = -imageWidth/2;
        mt = -imageHeight/2;

        $(theImage).css({"zIndex":'9999','width':imageWidth+'px','height':imageHeight+'px','position':'absolute','left':'50%','margin-left':ml,'top':'50%','margin-top':mt});
        $('.newImgBox').append(theImage);
    })
}
上一篇:ins download
下一篇:DateEx.js
网友评论