jquery图片滚动(渐隐渐现模糊消失效果)

距离上次写图片滚动代码已经过去4个月了。最近的一次修改时在2013年5月15日更新。

内容为“原创jQuery图片上下左右滚动代码”。

里面已经集成了上下、左右、隐藏与消失的代码。可以说大部分的图片滚动万变不离其宗了。下面将写出另外一种方式,就是本文提到的“渐隐渐现的效果”,这个也是图片滚动比较常见的方式之一。

查看演示
js代码如下

var bn=$("#banner");
var bn_pic=$(".bn_box li",bn);
var len = bn_pic.length;
var bn_tab=$(".bn_tab li",bn);
var prev = $(".prev",bn);
var next = $(".next",bn);
function tab(i,j){
bn_pic.eq(j).fadeOut(1000);
bn_tab.eq(j).attr("class","");
bn_pic.eq(i).fadeIn(1000);
bn_tab.eq(i).attr("class","current");
}
bn_tab.click(function(){
var i=bn_tab.index(this);
var j=bn_tab.index($('#banner .current:eq(0)'));
if(i!=j){
tab(i,j);
}
});
function auto(){
var j=bn_tab.index($('#banner .current:eq(0)'));
var i=(j+1)%len;
tab(i,j);
}
prev.click(function(){
var j=bn_tab.index($('#banner .current:eq(0)'));
var i=(j-1)%len;
tab(i,j);
//alert("dd");
});
next.click(function(){
var j=bn_tab.index($('#banner .current:eq(0)'));
var i=(j+1)%len;
tab(i,j);
});
//定时切换
var settime=window.setInterval(auto,5000);
bn_pic.mouseover(function(){
window.clearInterval(settime);
});
bn_pic.mouseout(function(){
settime=window.setInterval(auto,5000);
});

其中需要注意的是css代码里面的图片需要设定position:absolute;或者position:relative;才会有效果。之前我也是犯着这个错误一直不见效果。本例中是用jquery的fade来实现的,当然你也可以使用css的opacity、animate等来实现。不过这种方式好像是兼容性比较好的。

查看演示


关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流