css3+jq翻页效果二:颗粒翻页

将js改成了jq,请多指教!!!!

css样式:
*{margin: 0; padding: 0}
    #box{
        width:700px;
        height:400px;
        background:#ccc;
        position:relative;
        margin:100px auto;
    }
    #box span{
        width:100px;
        height:100px;
        position:absolute;
        transition: 1s all ease;
        transform-style: preserve-3d;
        transform: perspective(800px) rotate(0deg);
    }
    #box span .front{
        width:100%;
        height:100%;
        position:absolute;
        top:0;
        left:0;
        transform: translateZ(1px);
        background:url("img/0.jpg") no-repeat;
    }
    #box span .back{
        width:100%;
        height:100%;
        position:absolute;
        top:0;
        left:0;
        transform:scale(-1,1) translateZ(-1px);
        background:url("img/1.jpg") no-repeat;
    }
布局给个div就行:
<div id="box">
    <!--<span>
        <em class="front"></em>
        <em class="back"></em>
    </span>
    <span></span>-->
</div>
jq代码(别忘了加jq文件)
<script src="jquery-1.7.2.js"></script>
$(function(){
    var oBox=$('#box');
    var R=4;
    var C=7;
    for(var r=0;r<R;r++){
        for(var c=0;c<C;c++){
            var oSpan=$('<span><em class="front"></em><em class="back"></em></span>');
            var w=oBox.width()/C;
            var h=oBox.height()/R;
            oSpan.css({width:w+'px',height:h+'px',left:(w*c)+'px',top:(h*r)+'px'});            oSpan.appendTo(oBox);
            oSpan.attr({r:r,c:c});
            oSpan.children().eq(0).css({backgroundPosition:(-oSpan.position().left)+'px '+(-oSpan.position().top)+'px'});
            oSpan.children().eq(1).css({backgroundPosition:(-oSpan.position().left)+'px '+(-oSpan.position().top)+'px'});
        }
    }
    var iNow=0;
    var aSpan=oBox.children();
    var bReady=true;
    $(document).on('click',function(){
        if(bReady==false){
            return;
        }
        bReady=false;
        iNow++;
        for(var i=0;i<aSpan.length;i++){
            aSpan.eq(i).css({transition:'1s all ease '+200*(parseInt(aSpan.eq(i).attr("r"))+parseInt(aSpan.eq(i).attr("c")))+'ms',transform:'perspective(800px) rotateY(180deg)'});
        }
    });
    aSpan.eq(aSpan.length-1).on('transitionend',function(){
        for(var i=0;i<aSpan.length;i++){
            aSpan.eq(i).css({transition:'none',transform:'perspective(800px) rotateY(0deg)'});            aSpan.eq(i).children().eq(0).css({backgroundImage:'url("img/'+iNow%3+'.jpg")'});
            aSpan.eq(i).children().eq(1).css({backgroundImage:'url("img/'+((iNow+1)%3)+'.jpg")'});
        }
        bReady=true;
    });
});
效果图:
Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,692评论 1 92
  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 9,017评论 1 19
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,050评论 25 709
  • 。产品运营综合实践——小米商城复盘思考 小米成立于2010年4月,起初发展的概念是“为发烧而生”,符合年轻人的口味...
    佳记阅读 6,028评论 0 9
  • (一) 你说起她的时候 眼里满是思念、依恋 余光,温柔又遥远 是不是每一个少年 都会铭记 他的第一个爱人? 走不进...
    simbfry阅读 1,328评论 0 0

友情链接更多精彩内容