当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 广告切换效果(缓动切换)

Javascript
javascript 支持链式调用的异步调用框架Async.Operation
JavaScript 异步调用框架 (Part 6 - 实例 & 模式)
让JavaScript 轻松支持函数重载 (Part 1 - 设计)
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
javascript dragable的Move对象
同一个表单 根据要求递交到不同页面的实现方法小结
Extjs ajax同步请求时post方式参数发送方式
实现连缀调用的map方法(prototype)
javascript Array.remove() 数组删除
asp(javascript)全角半角转换代码 dbc2sbc
jquery select(列表)的操作(取值/赋值)
JavaScript 乱码问题
js正确获取元素样式详解
JQuery 小练习(实例代码)
JavaScript 的方法重载效果
JavaScript 变量作用域及闭包
jQuery 解析xml文件
javascript 当前日期加(天、周、月、年)
Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
上传图片时JS自动显示图片

Javascript 中的 广告切换效果(缓动切换)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 215 ::
收藏到网摘: n/a

写了一个 广告切换效果(点击查看DEMO) 形式是常见的形式,但是在功能上有一定的拓展。 主要功能:
1,自动检测广告图片个数 生产广告序列
2,缓动切换,仿原版FLASH 效果
3,自动按照设置周期播放
4,鼠标划入停止自动播放 鼠标移走恢复自动播放
其中第一个功能扩展比较实用,这样就没有必要分别 更新图片 和 图片个数了。
应用了 jQuery 的 easing 插件

贴一下程序代码 :
复制代码 代码如下:

$(document).ready(function(){
var MyTime=false; //定时器
var piclist=$("#piclist"); //图片列表
var num=piclist.find("li").length; //自动检测图片广告个数
var picnum=$("#picnum");
var index=0; //起始序列
var width=388; //广告宽度
var movetime=600; //单次动画所用时间
var speed=3000; //切换时间间隔

//标记当前
function cur(ele){
ele=$(ele)? $(ele):ele;
ele.addClass("cur").siblings().removeClass("cur");
}
function int(){
piclist.css({"width":width*num+"px"});
var nums="";
for(i=0; i<num; i++){
if(i<9){
nums+="<span>"+0+(i+1)+"<\/span>";
} else{
nums+="<span>"+(i+1)+"<\/span>";
}
}
picnum.html(nums);
cur(picnum.find("span").eq(index));
}
//初始化执行
int();
$(picnum.find("span")).mouseover(function(){
index=$("#picnum span").index($(this)[0]);
//if(!piclist.is(":animated")){
move();
//}
})

var move=function move(){
piclist.animate({"left":-width*index+"px"},{queue:false,duration:movetime, easing: "easeOutQuart"});
cur(picnum.find("span").eq(index));
}
$('div.flsad').hover(function(){
if(MyTime){
clearInterval(MyTime);
}
},function(){
MyTime = setInterval(function(){
move()
index++;
if(index==num){index=0;}
} , speed);
});
//自动开始
MyTime = setInterval(function(){
move();
index++;
if(index==num){index=0;}
} , speed);
})

在线演示
打包下载