js代码实现banner图片轮播

JavaScript012

js代码实现banner图片轮播,第1张

这是我以前写过的一个,样式你改一下就OK了

<div class="fbanner widget3924">

<div id="i_focus">

<div id="i_focus_pic">

<ul id="i_focus_piclist">

<li style="display: none">

<a href="" target="_blank" style="background: url(/templates/runlinjinguan/images/banner1.jpg) center 0 no-repeat">

</a>

</li>

<li style="display: list-item">

<a href="" target="_blank" style="background: url(/templates/runlinjinguan/images/banner4.jpg) center 0 no-repeat">

</a>

</li>

<li style="display: none">

<a href="" target="_blank" style="background: url(/templates/runlinjinguan/images/banner3.jpg) center 0 no-repeat">

</a>

</li>

<li style="display: none">

<a href="" target="_blank" style="background: url(/templates/runlinjinguan/images/banner2.jpg) center 0 no-repeat">

</a>

</li>

</ul>

<div id="i_focus_opdiv">

</div>

<ul id="i_focus_btn">

<li id="p0" class="">

<span>

</span>

</li>

<li id="p0" class="i_cur">

<span>

</span>

</li>

<li id="p0" class="">

<span>

</span>

</li>

<li id="p0" class="">

<span>

</span>

</li>

</ul>

</div>

</div>

<script type="text/javascript" src="/templates/runlinjinguan/js/flash.js"></script>

<script type="text/javascript">

$("#i_focus_btn").find("li").eq(0).addClass("i_cur")

</script>

</div>

引用的js文件

// JavaScript Document

//flash js

$(document).ready(function () {

var i_curIndex = 0

var beauBeauSlide//函数对象

var i_curID = 0//取得鼠标下方的对象ID

var pictureID = 0//索引ID

$("#i_focus_piclist li").eq(0).show()//默认

autoScroll()

$("#i_focus_btn li").hover(function (e) {

StopScrolll()

$("#i_focus_btn li").removeClass("i_cur") //所有的li去掉当前的样式加上正常的样式

$(this).addClass("i_cur")//而本身则加上当前的样式去掉正常的样式

i_curID = $(this).attr("id")//取当前元素的ID

pictureID = $("#i_focus_btn li").index(this)// i_curID.substring(i_curID.length - 1)//取最后一个字符

$("#i_focus_piclist li").eq(pictureID).fadeIn("slow")//本身显示

$("#i_focus_piclist li").not($("#i_focus_piclist li")[pictureID]).hide()//除了自身别的全部隐藏

$("#i_focus_tx li").hide()

$("#i_focus_tx li").eq(pictureID).show()

},

function () {

//当鼠标离开对象的时候获得当前的对象的ID以便能在启动自动时与其同步

i_curID = $(this).attr("id")//取当前元素的ID

pictureID = i_curID.substring(i_curID.length - 1)//取最后一个字符

i_curIndex = pictureID

autoScroll()

})

//自动滚动

function autoScroll() {

var myNubli = $("#i_focus_btn li").size()

if (myNubli >1) {

$("#i_focus_btn li:last").removeClass("i_cur")

$("#i_focus_tx li:last").hide()

$("#i_focus_btn li").eq(i_curIndex).addClass("i_cur")

$("#i_focus_btn li").eq(i_curIndex - 1).removeClass("i_cur")

$("#i_focus_tx li").eq(i_curIndex).show()

$("#i_focus_tx li").eq(i_curIndex - 1).hide()

$("#i_focus_piclist li").eq(i_curIndex).fadeIn("slow")

$("#i_focus_piclist li").eq(i_curIndex - 1).hide()

i_curIndex++

i_curIndex = i_curIndex >= myNubli ? 0 : i_curIndex

beauBeauSlide = setTimeout(autoScroll, 5000)

}

}

function StopScrolll() //当鼠标移动到对象上面的时候停止自动滚动

{

clearTimeout(beauBeauSlide)

}

})

//第二个渐隐幻灯开始

var defaultOpts = {

interval: 3000,

fadeInTime: 800,

fadeOutTime: 500

}

var _titles = $("ul.slide-txt li")

var _titles_bg = $("ul.op li")

var _bodies = $("ul.slide-pic li")

var _count = _titles.length

var _current = 0

var _intervalID = null

var stop = function () {

window.clearInterval(_intervalID)

}

var slide = function (opts) {

if (opts) {

_current = opts.current || 0

} else {

_current = (_current >= (_count - 1)) ? 0 : (++_current)

}

_bodies.filter(":visible").fadeOut(defaultOpts.fadeOutTime,

function () {

_bodies.eq(_current).fadeIn(defaultOpts.fadeInTime)

_bodies.removeClass("cur").eq(_current).addClass("cur")

})

_titles.removeClass("cur").eq(_current).addClass("cur")

_titles_bg.removeClass("cur").eq(_current).addClass("cur")

}//endof slide

var go = function () {

stop()

_intervalID = window.setInterval(function () {

slide()

},

defaultOpts.interval)

}//endof go

var itemMouseOver = function (target, items) {

stop()

var i = $.inArray(target, items)

slide({

current: i

})

}//endof itemMouseOver

_titles.hover(function () {

if ($(this).attr('class') != 'cur') {

itemMouseOver(this, _titles)

} else {

stop()

}

},

go)

//_titles_bg.hover(function() { itemMouseOver(this, _titles_bg)}, go)

_bodies.hover(stop, go)

go()

var slideX = {

_this: $('.catalog .imgbox'),

_btnLeft: $('.catalog .left'),

_btnRight: $('.catalog .right'),

init: function () {

slideX._btnLeft.click(slideX.slideLeft)

slideX._btnRight.click(slideX.slideRight)

},

slideLeft: function () {

slideX._btnLeft.unbind('click', slideX.slideLeft)

for (i = 0i <2i++) {

slideX._this.find('li:last').prependTo(slideX._this)

}

slideX._this.css('marginLeft', -224)

slideX._this.animate({

'marginLeft': 0

},

500,

function () {

slideX._btnLeft.bind('click', slideX.slideLeft)

})

return false

},

slideRight: function () {

slideX._btnRight.unbind('click', slideX.slideRight)

slideX._this.animate({

'marginLeft': -224

},

500,

function () {

slideX._this.css('marginLeft', '0')

for (i = 0i <2i++) {

slideX._this.find('li:first').appendTo(slideX._this)

}

slideX._btnRight.bind('click', slideX.slideRight)

})

return false

}

}

$(document).ready(function () {

slideX.init()

})

$(document).ready(function () {

var newTime = new Date()

var newTime = newTime.getTime()

var $imgTmp = $('#topromotion').find('img:first')

var osrc = $imgTmp.attr('src')

$imgTmp.attr('src', osrc + '?' + newTime)

})

希望对你有帮助!

stop停止动画队列具体参数查下jquery手册,removeClass移除某个class属性的值eq是查找$("#focus .btn span")

的索引是index的元素让他停止动画队列再给他加上class为on的值

具体的意思就是先停止所有$("#focus .btn span")的动画让他们的class全部不为on

再让$("#focus .btn span")

的索引等于index的元素加上class为on的值

<style type="text/css">

#banner {position:relativewidth:1070pxheight:280pxoverflow:hiddenmargin:0 auto}

#banner_list img {border:0px}

#banner_bg {position:absolutebottom:0background-color:#000height:30pxfilter: Alpha(Opacity=30)opacity:0.3z-index:1000

cursor:pointerwidth:478px}

#banner_info{position:absolutebottom:0left:5pxheight:22pxcolor:#fffz-index:1001cursor:pointer}

#banner_text {position:absolutewidth:120pxz-index:1002right:3pxbottom:3px}

#banner ul {position:absolutelist-style-type:nonefilter: Alpha(Opacity=80)opacity:0.8border:1px solid #fffz-index:1002

margin:0padding:0bottom:3pxright:5px}

#banner ul li { padding:0px 8pxfloat:leftdisplay:blockcolor:#FFFborder:#e5eaff 1px solidbackground:#6f4f67cursor:pointer}

#banner ul li.on { background:#900}

#banner_list a{position:absolute} <!-- 让四张图片都可以重叠在一起-->

</style>

<script src="../jquery.js" type="text/javascript"></script>

<script type="text/javascript">

var t = n = 0, count

$(document).ready(function(){

count=$("#banner_list a").length

$("#banner_list a:not(:first-child)").hide()

$("#banner_info").html($("#banner_list a:first-child").find("img").attr('alt'))

$("#banner_info").click(function(){window.open($("#banner_list a:first-child").attr('href'), "_blank")})

$("#banner li").click(function() {

var i = $(this).text() - 1//获取Li元素内的值,即1,2,3,4

n = i

if (i >= count) return

$("#banner_info").html($("#banner_list a").eq(i).find("img").attr('alt'))

$("#banner_info").unbind().click(function(){window.open($("#banner_list a").eq(i).attr('href'), "_blank")})

$("#banner_list a").filter(":visible").fadeOut(500).parent().children().eq(i).fadeIn(1000)

document.getElementById("banner").style.background=""

$(this).toggleClass("on")

$(this).siblings().removeAttr("class")

})

t = setInterval("showAuto()", 4000)

$("#banner").hover(function(){clearInterval(t)}, function(){t = setInterval("showAuto()", 4000)})

})

function showAuto()

{

n = n >=(count - 1) ? 0 : ++n

$("#banner li").eq(n).trigger('click')

}

</script>

========================以上是CSS和脚本=======================

<div id="banner">

<div id="banner_bg"></div> <!--标题背景-->

<div id="banner_info"></div><!--标题-->

<ul>

<li class="on">1</li>

<li>2</li>

<li>3</li>

<li>4</li>

</ul>

<div id="banner_list">

<a href="#" target="_blank"><img src="../images/jsbg1.jpg" title="" alt="" /></a>

<a href="#" target="_blank"><img src="../images/jsbg2.jpg" title="" alt="" /></a>

<a href="#" target="_blank"><img src="../images/jsbg3.jpg" title="" alt="" /></a>

<a href="#" target="_blank"><img src="../images/jsbg4.jpg" title="" alt="" /></a>

</div>

</div>

图片在哪里放,你应该看的很清楚吧,