利用jquery实现图片自动滑动切换代码



75 297 100



特效描述:利用jquery实现 自动滑动切换,利用jquery实现图片自动滑动切换代码

代码结构

1. 引入JS

<script src="js/jquery.min.js"></script>

2. HTML代码

<div class="框架">
  <div class="元素" style="z-index: 5; top:310"> <img src="img/2014-07-29_470629.jpg" width="743" height="323"> </div>
  <div class="元素" style="z-index:4;"> <img src="img/2014-08-05_473813.jpg" width="743" height="323"> </div>
  <div class="元素" style="z-index:3;"> <img src="img/2014-08-06_474077.jpg" width="743" height="323"> </div>
  <div class="元素" style="z-index:2;"> <img src="img/2014-08-06_474101.jpg" width="743" height="323"> </div>
  <div class="元素" style="z-index:1;"> <img src="img/2014-08-08_474863.jpg" width="743" height="323"> </div>
</div>
<script type="text/javascript">
//创建移动数组后 启动引擎
var 移动对象组=new Array();
//启动引擎  FPS 刷新率  刷新率越高一般看起来越流畅 但是也要看电脑的性能!一般游戏是60FPS 射击类游戏 120FPS以上
移动引擎(10,'移动引擎()')//5=200FPS 6=166FPS 7=142FPS 8=125FPS 9=111FPS 10=100FPS
加入移动对象($(".框架>.元素").eq(0),743,0,1000,'完成(0)')// JQ对象 ,X位置,Y位置,用时
function 完成(i){
	if(i==0){
		加入移动对象($(".框架>.元素").eq(1),0,323,2000,'完成(1)')
	}else if(i==1){
		加入移动对象($(".框架>.元素").eq(2),743,323,2000,'完成(2)')
	}else if(i==2){
		加入移动对象($(".框架>.元素").eq(3),743,-323,2000,'完成(3)')
	}else if(i==3){
		加入移动对象($(".框架>.元素").eq(4),-743,-323,2000,'完成(4)')
	}else if(i==4){
		加入移动对象($(".框架>.元素").eq(4),0,0,1000,'完成(5)')
	}else if(i==5){
		加入移动对象($(".框架>.元素").eq(3),0,0,1000,'完成(6)')
	}else if(i==6){
		加入移动对象($(".框架>.元素").eq(2),0,0,1000,'完成(7)')
	}else if(i==7){
		加入移动对象($(".框架>.元素").eq(1),0,0,1000,'完成(8)')
	}else if(i==8){
		加入移动对象($(".框架>.元素").eq(0),0,0,1000,'完成(9)')
	}else if(i==9){
		alert("亲:事情都干完啦!")
	}
}
function 加入移动对象(对象,X,Y,时间,函数){//JQ对象,移动到的位置X,移动到的位置Y,完成动画的总时间,完成后执行的函数
 var 元素={
	  "对象":对象,/*JQ选择的对象 必须*/
	  "X":X,/*移动到的位置X 必须*/
	  "Y":Y,/*移动到的位置Y 必须*/
	  "X1":parseInt($(对象).css("left"),10),/*对象的起初位置X 自取*/
	  "Y1":parseInt($(对象).css("top"),10),/*对象的起初位置Y  自取*/
	  "进度":0,/*相对时间内的进度  引擎自己计算*/
	  "时间":时间,/*用多久时间去完成 的总时间 必须*/
	  "总进度":0,/*计算时间 的总进度 引擎自己计算 */
	  "完成":函数/*完成后 执行的函数  可以有*/
	 };
 var 存在=false;
 for (var i=0; i<移动对象组.length;i++){
   if(元素.对象.selector==移动对象组[i].对象.selector){存在=true;} // JQ 1.7.2 存在这个属性 $('body div').selector 大概等于 'body div' 使用要注意了
 }
 if(存在==false){//不存在加入对象
	 移动对象组[移动对象组.length]=元素;
 } 
}
function 移动引擎(时间){	//用时钟自启动的引擎  引擎就是无限循环  提供动力的那总
 for(var i=0;i<移动对象组.length;i++){//循环开始
  if(移动对象组[i].总进度==0){//用时间计算出总的进度  进度与时间相关
	  移动对象组[i].总进度=Math.ceil(移动对象组[i].时间/时间);
  }
  if(移动对象组[i].进度==移动对象组[i].总进度){
	移动对象组[i].对象.css("left", 移动对象组[i].X);//位置最后调整
	移动对象组[i].对象.css("top", 移动对象组[i].Y);//位置最后调整
	var str=移动对象组[i].完成;
	移动对象组.splice(i,1)//删除对象
	eval(str)//执行回调函数
  }else{
	进度=移动对象组[i].进度/移动对象组[i].总进度*90;
	if(移动对象组[i].X>移动对象组[i].X1){//横向 向右移动
	 if(移动对象组[i].X1<=0){
		 移动宽度=移动对象组[i].X+Math.abs(移动对象组[i].X1);//真实移动宽度
	 }
	 else{
		 移动宽度=Math.abs(Math.abs(移动对象组[i].X1)-移动对象组[i].X);//真实移动宽度
	 }
	 //计算出移动宽度
	 位置=Math.sin(进度*(2*Math.PI/360))*(移动宽度)
	 移动对象组[i].对象.css("left",位置+移动对象组[i].X1); 
	}
	else{//横向 向左移动
	 移动宽度=Math.abs(移动对象组[i].X-Math.abs(移动对象组[i].X1));//计算出移动距离
	 位置=Math.sin(进度*(2*Math.PI/360))*(移动宽度)
	 移动对象组[i].对象.css("left",移动对象组[i].X1-位置); 
	}
	if(移动对象组[i].Y>移动对象组[i].Y1){//纵向 向下移动
	 if(移动对象组[i].Y1<=0){
	   移动宽度=移动对象组[i].Y+Math.abs(移动对象组[i].Y1);//真实移动宽度
	 }
	 else{
		 移动宽度=Math.abs(Math.abs(移动对象组[i].Y1)-移动对象组[i].Y);//真实移动宽度
	 }
	 //计算出移动宽度
	 位置=Math.sin(进度*(2*Math.PI/360))*(移动宽度)
	 移动对象组[i].对象.css("top",位置+移动对象组[i].Y1); 
	}
	else{//横向 向左移动
	 移动宽度=Math.abs(移动对象组[i].Y-Math.abs(移动对象组[i].Y1));//计算出移动距离
	 位置=Math.sin(进度*(2*Math.PI/360))*(移动宽度)
	 移动对象组[i].对象.css("top",移动对象组[i].Y1-位置); 
	}	
	移动对象组[i].进度=移动对象组[i].进度+1;
  } 
 }//循环结束
setTimeout('移动引擎('+时间+')',时间)//自己启动自己//最后执行
}
</script>
<div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';">
</div>



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册


热门标签: 滑动导航菜单 导航切换 右键菜单 带标题的焦点图 滑动选项卡切换 文字提示框 带缩略图的幻灯片 带简介的焦点图 图片滑动 图片切换 提示框/弹出层 图片轮播 文字滑动 文字切换 layer 自动滚动图片轮播 滑动手风琴 背景切换 lightbox 马赛克幻灯片 滑动星星打分 手风琴 Tooltip工具提示框 全屏焦点图 选项卡自动切换 浮动提示框 视频切换 html5弹窗动画 列表切换 渐隐切换 全屏切换 切换按钮 缩放切换 滑动滑过 滚动切换 滑动选项卡切换 flash焦点图 弹出层拖动 选项卡切换 滑动手风琴 窗口提示框 焦点图幻灯片

×
×

注册

官方QQ群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到