Home > php教程 > php手册 > body text

朋友圈相册 手机版

WBOY
Release: 2016-06-07 11:38:56
Original
995 people have browsed it

朋友圈相册
仿朋友圈相册 【注意】【注意】请用google的手机模拟器浏览,因为是手机触摸事件

domo 演示 http://mall.hnsanx.com/mphoto/friends.html 仿微信朋友圈图片 还差一个慢慢变大功能

重要代码:
$(document).ready(function(){
var _window = $(window);
var strSrc = ["img/1.jpg","img/2.jpg","img/3.jpg","img/4.jpg","img/5.jpg"];
var total =strSrc.length;
var imgWidth = 110;
var imgHeight =100;
var bigLiList = liList = "";
var _touchList = null;
this.idx = 0;

$.each(strSrc,function(index,item) {
liList += "

  • ";
    drawImages(index+1,"#img_",item,imgWidth,imgHeight);
    });

    $("#photos").append(liList);
    //render();
    //
    $("#photos").delegate("li",'tap',function(){
    $("#photos").attr("style","display:none");
    $("#large").css("display","block");
    var _id = $(this).attr("data-id");
    loadImg(_id);
    });

    function loadImg(_id) {
    var numList = "";
    var windowWidth = _window.width();
    var windowHeight = _window.height();
    $("#big_large_box").css("height",windowHeight);
    $.each(strSrc,function(index,item){
    numList += "
  • ";
    bigLiList += "
  • ";

    var oImageObj = new Image();
    oImageObj.onload = function() {
    var W = this.width;
    var H = this.height;
    var windowWidth = _window.width();
    var windowHeight = _window.height();
    var drawHeight,drawWidth,drawTop,drawLeft;

    if((W/H) > (windowWidth/windowHeight)){
    drawHeight = parseInt(windowWidth/(W/H)); //alert(drawWidth);
    drawTop = parseInt((windowHeight-drawHeight)/2);
    $("#large_img_"+(index+1)).css("margin-top",drawTop+"px");
    drawImages(index+1,"#large_img_",item,windowWidth,drawHeight);
    }else if(H/W==windowHeight/windowWidth){
    drawImages(index+1,"#large_img_",item,windowWidth,windowHeight);
    }else {
    drawWidth = parseInt((W/H)*windowHeight);
    drawLeft = parseInt((windowWidth-drawWidth)/2);
    $("#large_img_"+(index+1)).css("margin-left",drawLeft+"px");
    drawImages(index+1,"#large_img_",item,drawWidth,windowHeight);
    }
    }
    oImageObj.src = item;
    });
    $("#big_large_box").append(bigLiList);
    _touchList = $("#big_large_box>li");
    go(_id-1);
    ///下面点焦点图
    $("#num").append(numList);
    $("#num>li").eq((_id-1)).addClass("currun");
    var numWidth = $("#num").width();
    $("#num").css("left",((windowWidth-numWidth)/2)+"px");
    }

    function drawImages(i,target,iSrc,iWidth,iHeight) {
    var objImage = new Image();
    objImage.onload = function() {
    $(target+i)[0].width = iWidth;
    $(target+i)[0].height = iHeight;
    var cav = $(target+i)[0].getContext('2d');
    cav.drawImage(this,5,0,iWidth-10,iHeight);
    }
    objImage.src = iSrc;
    }

    $("#big_large_box").delegate("li",'tap',function(){
    $("#photos").attr("style","display:block");
    $("#large").css("display","none");
    $("#big_large_box").empty();
    $("#num").empty();
    bigLiList = "";
    });

    $("#big_large_box").on('touchstart',function(evt){
    this.startX = evt.touches[0].pageX;
    this.offsetX = 0;
    this.startTime = new Date() * 1;
    this.idx = idx;
    });

    $("#big_large_box").on('touchmove',function(evt){
    evt.preventDefault();
    this.offsetX = evt.touches[0].pageX - this.startX;
    //_touchList;
    var i = this.idx-1;
    var m = i+3;
    for(i;i _touchList[i] && (_touchList[i].style.webkitTransform = 'translate3d(' + ((i-this.idx)*_window.width() + this.offsetX)+'px, 0, 0)');
    _touchList[i] && (_touchList[i].style.webkitTransition = 'none');
    }
    });

    $("#big_large_box").on('touchend',function(){
    var boundary = _window.width()/3;
    var endTime = new Date() * 1;
    if(endTime-this.startTime > 800){
    if(this.offsetX >= boundary){
    //进入前一页
    go('-1');
    }else if (this.offsetX //进入下一页
    go('+1');
    }else {
    //留在本页
    go('0');
    }
    }else{
    if(this.offsetX > 60){
    go('-1');
    }else if (this.offsetX go('+1');
    }else{
    go('0');
    }
    }
    });

    });

    function go(n) {
    var cidx;
    var _touchList = $("#big_large_box>li");
    var len = _touchList.length;

    if(typeof n == 'number'){
    cidx = n;
    }else if(typeof n == 'string'){
    cidx = idx + n * 1;
    }
    //当索引右超出
    if(cidx >= len - 1){
    cidx = len - 1;
    _touchList[cidx].style.webkitTransition = '-webkit-transform 0.6s ease';
    _touchList[cidx-1].style.webkitTransition = '-webkit-transform 0.6s ease';
    _touchList[cidx].style.webkitTransform = 'translate3d(0, 0, 0)';
    _touchList[cidx-1].style.webkitTransform = 'translate3d(-'+$(window).width()+'px, 0, 0)';
    }else if(cidx cidx = 0;
    _touchList[cidx].style.webkitTransition = '-webkit-transform 0.6s ease';
    _touchList[cidx+1].style.webkitTransition = '-webkit-transform 0.6s ease';
    _touchList[cidx].style.webkitTransform = 'translate3d(0, 0, 0)';
    _touchList[cidx+1].style.webkitTransform = 'translate3d('+$(window).width()+'px, 0, 0)';
    }else {
    _touchList[cidx].style.webkitTransition = '-webkit-transform 0.6s ease';
    _touchList[cidx-1].style.webkitTransition = '-webkit-transform 0.6s ease';
    _touchList[cidx+1].style.webkitTransition = '-webkit-transform 0.6s ease';
    _touchList[cidx].style.webkitTransform = 'translate3d(0, 0, 0)';
    _touchList[cidx-1].style.webkitTransform = 'translate3d(-'+$(window).width()+'px, 0, 0)';
    _touchList[cidx+1].style.webkitTransform = 'translate3d('+$(window).width()+'px, 0, 0)';
    }
    idx = cidx;
    var numLi = $("#num>li");
    $.each(numLi,function(key,value){
    if(key == cidx) numLi.eq(key).addClass("currun");
    else numLi.eq(key).removeClass("currun");
    });
    }
    //alert(_window.height());
    /*var objImage = new Image();
    objImage.index = index+1;
    objImage.onload = function() {
    var cav = $("#img_"+this.index)[0].getContext('2d');
    cav.drawImage(this,0,0,imgWidth,imgHeight);
    }
    objImage.src = item;*/

    /*if(W > windowWidth && H > windowHeight){


    }else if(W > windowWidth && H drawHeight = parseInt((H/W)*windowWidth);
    drawTop = parseInt((windowHeight-drawHeight)/2);
    $("#large_img_"+(index+1)).css("margin-top",drawTop+"px");
    drawImages(index+1,"#large_img_",item,windowWidth,drawHeight);
    }else if(W windowHeight) {
    drawWidth = parseInt((W/H)*windowHeight);
    drawLeft = parseInt((windowWidth-drawWidth)/2);
    $("#large_img_"+(index+1)).css("margin-left",drawLeft+"px");
    drawImages(index+1,"#large_img_",item,drawWidth,windowHeight);
    }else {
    drawLeft = parseInt((windowWidth-W)/2);
    drawTop = parseInt((windowHeight-H)/2);
    $("#large_img_"+(index+1)).css("margin-top",drawTop+"px");
    $("#large_img_"+(index+1)).css("margin-left",drawLeft+"px");
    drawImages(index+1,"#large_img_",item,W,H);
    }*/

    附件 2015-4-10.zip ( 4.04 MB 下载:28 次 )

    AD:真正免费,域名+虚机+企业邮箱=0元

    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Recommendations
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!