<!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:;
padding:;
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:;
}
.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();

jquery.transform的更多相关文章

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

    jQuery箭头切换图片 布局 3d位移 变形原点 jQuery transform:translate3d(x,y,z):        x 代表横向坐标移向量的长度       y 代表纵向坐标移 ...

  2. JS+CSS3人物奔跑动画

    查看效果:http://hovertree.com/texiao/jquery/58/ 效果图: 代码: <!DOCTYPE html> <html> <head> ...

  3. Minimit Anima – 硬件加速的 CSS3 动画插件

    Minimit Anima 是一个实现 CSS3 Transforms 和 Transitions 动画的 jQuery 插件.基于硬件加速的 CSS3 动画执行更快,而且它有一个类似于 jQuery ...

  4. 元素水平垂直居中(transform,margin,table-cell,jQuery)

    1.水平居中 .div{ margin:0 auto; (或者 margin:auto;) width:500px; height:300px; } 2.使用margin水平垂直居中 方式一: .di ...

  5. css3的transform变换scale和translate等影响jQuery的position().top和offset().top

    css3的transform变换scale和translate等影响jQuery的position().top和offset().top

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

    //获取 transform 值 var reg=/matrix.(((-)?([0-9]+.)?\d+([, ]+)?){6})./g; var str= progressUI.css(" ...

  7. jquery获取transform里面的值

    用transform的translateX写了一个侧滑效果,如何获取它改变的值是多少呢? 获取translateX值的方法: $('div').css("transform").r ...

  8. jquery 的animate 的transform

    $(function(){ var t = 1000; $("#id").animate( {borderSpacing:180}, //180 指旋转度数 { step: fun ...

  9. jquery 获取css3 transform 值

    最近写了个旋转,有要求获取transform值.当看到console.log($("#id").css("transform"))的值的时候,我的内心是崩溃的 ...

随机推荐

  1. Java代码随机生成图片验证码

    package com.rchm.util.images; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2 ...

  2. 使用vscode开发vue cli 3项目,配置eslint以及prettier

    初始化项目时选择eslint-config-standard作为代码检测规范,vscode安装ESLint和Prettier - Code formatter两个插件,并进行如下配置 { " ...

  3. PHP跨域请求nodejs

    摘要:用nodejs作为服务器,php作为客服端进行跨域请求,并返回数据. 一:windows环境下的nodejs安装(以及express模板的安装):http://blog.uifanr.com/2 ...

  4. 13.VUE学习之控制行内样式

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  5. 第39-43课 thinkphp5完成商品会员价格功能(后置勾子afterInsert)

    目录 功能一:利用后置勾子,处理好商品主键id,会员的价格,再插入member_price表里. 要实现的功能: 思路: html里 控制器里 模型里的后置勾子afterInsert() 功能二:利用 ...

  6. Dungeon Master(逃脱大师)-BFS

    Dungeon Master Description You are trapped in a 3D dungeon and need to find the quickest way out! Th ...

  7. Install ADDS on Windows Server 2012 R2 with PowerShell

    Install ADDS on Windows Server 2012 R2 with PowerShell Posted by ethernuno on 20/04/2014 In this tut ...

  8. IOS开发学习笔记038-autolayout 自动布局 界面实现

    在storyboard/xib文件中实现自动布局 autolayout 1.注意事项 autolayout和frame属性是有冲突的,所以如果准备使用autolayout,就不要再代码中对控件的fra ...

  9. Jmeter随笔一

    资料分享:http://www.cnblogs.com/yangxia-test/p/3964881.html

  10. 菜鸟之路——git学习及GitHub的使用

    首先,感谢廖雪峰老师的git教程 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 ...