jquery.transform

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jquery.transform</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="mainbox">
        <ul>
            <li><img src="1.jpg" alt=""></li>
            <li><img src="2.jpg" alt=""></li>
            <li><img src="3.jpg" alt=""></li>
            <li><img src="4.jpg" alt=""></li>
            <div class="clear"></div>
        </ul>
        <div class="btnbox">
            <a class="leftbt">&lt</a>
            <a class="rightbt">&gt</a>
            <a class="topbt">play</a>
        </div>
        <h2>多图旋转轮播效果</h2>
    </div>
</body>
<script src="http://cdn.bootcss.com/jquery/1.7.2/jquery.min.js"></script>
<script src="jquery.transform-0.9.3.min_.js"></script>
<script src="index.js"></script>
</html>
*{
    margin: 0;
    padding: 0;
    list-style: none;
}
a{
    text-decoration: none;
}
.mainbox {
    width: 1000px;
    height: 515px;
    margin: 0 auto;
    box-shadow: 0px 0px 5px #000;
    margin-top: 200px;
    overflow: hidden;
    position: relative;
}
.mainbox h2{
    position: absolute;
    bottom: 20px;
    right: 50px;
    background: rgba(255,255,255,0.6);
    padding: 10px;
    letter-spacing: 0.6em;
}
.mainbox .btnbox a{
    position: absolute;
    display: block;
    opacity: 0.6;
    cursor: pointer;
}
.mainbox .btnbox a:hover{
    opacity: 1;
}
.mainbox .btnbox .leftbt{
    left: 20px;
    top: 50%;
    color: #fff;
    font-size: 60px;
    margin-top: -30px;
}
.mainbox .btnbox .rightbt{
    right: 20px;
    top: 50%;
    color: #fff;
    font-size: 60px;
    margin-top: -30px;
}
.mainbox .btnbox .topbt{
    top: 0px;
    left: 20px;
    color: #000;
    font-size: 10px;
    border: 1px solid #999;
    padding: 5px;
}
.mainbox ul li{
    float: left;
    width: 25%;
    height: 465px;
    overflow: hidden;
    border: 25px solid #fff;
    margin-left: -50px;
    position: relative;
}
.mainbox ul li img{
    position: absolute;
    width: 310px;
    height: 465px;
}
.clear{
    clear: both;
}
var loopPlayerInit = (function(){
    var $leftbt = null,
        $rightbt = null,
        $topbt = null,
        $imglist = null,
        origin = [‘125px‘,‘500px‘],
        imgOrign = [‘180px‘,‘900px‘],
        imgAll = createImg([[‘1.jpg‘,‘2.jpg‘,‘3.jpg‘,‘4.jpg‘],[‘5.jpg‘,‘6.jpg‘,‘7.jpg‘,‘8.jpg‘],[‘9.jpg‘,‘10.jpg‘,‘11.jpg‘,‘12.jpg‘],[‘13.jpg‘,‘14.jpg‘,‘15.jpg‘,‘16.jpg‘]]),
        imgArrIndex=0,
        imgAng = 45,
        imgTime = 100,//初始时间
        rotating = false,//初始旋转状态
        autoTime = null,//存储定时器
        autoInterval = 3000;//自动播放时间间隔

    function init(){
        $leftbt = $(".leftbt"),
        $rightbt = $(".rightbt"),
        $topbt = $(".topbt"),
        $imglist = $(".mainbox ul li");

        configer();//旋转角度和旋转点
        setEvent();//添加事件
    }
    function configer(){//旋转角度和旋转点
        var ang = 6,
            aint = -6;
        $imglist.transform({origin:origin});
        $imglist.each(function(i){
            var $this = $(this);
            $this.transform({rotate:aint + (i*ang) + "deg"});
        })
    }

    function setEvent(){//添加事件
        $leftbt.bind("click",function(){
            //alert(imgAll[imgArrIndex][i])
            anigo(-1);//旋转函数
            return false;
        });

        $rightbt.bind("click",function(){
            anigo(1);
            return false;
        });

        $topbt.bind("click",function(){
            var play = "play",
                pause = "pause",
                $but = $(this);
            if($but.text()=="play"){
                $but.text(pause);
                autoGo();
            }else{
                $but.text(play);
                autoStop();
            }
            return false;
        });
    }

    function createImg(arr){//生成图片
        var imgArr = [];
        for(var i in arr){
            imgArr[i] = [];
            for(var j in arr[i]){
                imgArr[i][j] = new Image();
                imgArr[i][j].src = arr[i][j];
            }
        }
        return imgArr;
    }

    function anigo(d){
        if(rotating) return false;//若动画在执行直接return
        rotating = true;
        imgArrIndex+=d;
        if(imgArrIndex>imgAll.length-1){
            imgArrIndex = 0;
        }else if (imgArrIndex<0) {
            imgArrIndex = imgAll.length-1;
        };
        $imglist.each(function(i){
            var $thisItem = $(this);//遍历出的li
            var $thisimg = $thisItem.children("img");//li 下面原始img
            var $targetImg=$(imgAll[imgArrIndex][i]);//取出图片
            var thisTime=(d===1)?imgTime*i:imgTime*($imglist.length-1-i);//往右转i=3的延迟时间最长,往左转i=0的延迟时间最长;
            $thisItem.append($targetImg);//替换图片
            $thisimg.transform({origin:imgOrign});
            $targetImg.transform({origin:imgOrign,rotate:(0-d)*imgAng + "deg"});
            setTimeout(function() {
                $thisimg.animate({rotate:imgAng*d + "deg"});
                $targetImg.animate({rotate:"0deg"},500,function(){
                    $thisimg.remove();
                    if(thisTime==(($imglist.length-1)*imgTime)){
                        rotating = false;
                    }
                });
            },thisTime)
        })
    }

    function autoGo(){
        clearInterval(autoTime);
        anigo(1);
        autoTime = setInterval(function(){
            anigo(1);
        },autoInterval)
    }

    function autoStop(){
        clearInterval(autoTime)
    }

    return init;
})()
loopPlayerInit();
时间: 2024-08-03 08:06:34

jquery.transform的相关文章

jQuery箭头切换图片 - 学习笔记

jQuery箭头切换图片 布局 3d位移 变形原点 jQuery transform:translate3d(x,y,z):        x 代表横向坐标移向量的长度       y 代表纵向坐标移向量的长度       z 代表Z轴移向量的长度 取值不可为百 scale() 缩放 transform-origin:0 50%:        top left | left top 等价于 0 0       top | top center | center top 等价于 50% 0   

jquery实现小人跑步

<奔跑吧兄弟>带动了真人秀的节目,也带动了互联网+大消费.而我们公司易悦(http://www.ejoytec.com/)是全球领先的互联网+大消费领域服务商. 旗下有奔跑吧,亲爱的!(http://www.runningdarling.com/), 奔跑吧亲爱的跑男体验馆,16000余平米游戏活动空间.<br>专业体感测试以及音视频技术支持,力求打造优质高端的<br>综艺 游戏体验馆.商家为您提供同款定制名牌.服装.帽子.袖套.眼罩等装束,以及可能会用到的指甲刀.橡皮

圆边图片无限旋转

Demo: http://output.jsbin.com/qusikinaga还有一个很好的transform jshttp://louisremi.github.io/jquery.transform.js/index.html Demo: http://output.jsbin.com/qusikinaga 还有一个很好的transform js http://louisremi.github.io/jquery.transform.js/index.html //html <div id

jquery插件--h5移动设备自适应 transform scale

// 创建一个闭包 (function($) { // 插件的定义 $.fn.scale = function(options) { var obj = this; var opts = $.extend({}, $.fn.scale.defaults, options); init(obj, opts); $(window).resize(function(event) { init(obj, opts); }); }; function init(obj, opts){ var w = $(

可替代CSS3 transition和transform的jQuery插件

jQuery Transit是一款可制作超级平滑的CSS3 transformations 和 transitions动画的jQuery插件.它能够通过jquery来完成CSS转换和过渡动画效果,这对于一些不支持css3转换和过渡属性的浏览器来说是一个非常有用的jquery插件. 在线演示:http://www.htmleaf.com/Demo/201501281290.html 下载地址:http://www.htmleaf.com/jQuery/Layout-Interface/201501

jquery获取transform里面的值

用transform的translateX写了一个侧滑效果,如何获取它改变的值是多少呢? 获取translateX值的方法: $('div').css("transform").replace(/[^0-9\-,]/g,'').split(',')[4]; 直接用css()获取是这样子的: 用正则获取一下它里面的数值: 然后获取第五个值就好了

jquery 设置 transform/translate 获取 transform/translate 的值

//获取 transform 值 var reg=/matrix.((\d+([, ]+)?){6})./g; var str= progressUI.css("transform"); //str = matrix(1, 0, 0, 1, 0, 0) var arr=reg.exec(str); var newarr = arr[1].split(/[, ]+/g); //newarr = ["1", "0", "0", &

jQuery实现评论弹幕、弹幕漂浮、滚动代码

1.html代码和jquery代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>document</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&g

css3中的变形(transform)、过渡(transtion)、动画(animation)

Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix.下面我们一起来看看CSS3中transform的旋转rotate.扭曲skew.缩放scale和移动translate具体如何实现,老样子,我们就从transform的语法开始吧.是构成transtion和animation的基础. 语法: transform : none | <transform-func