html中怎样定时变换背景图片

html-css08

html中怎样定时变换背景图片,第1张

一般是用脚本实现。示例:<!doctype html><html><head><meta charset="utf-8"><title>无标题文档</title><style type="text/css">#bg_body{background:url(1.jpg) no-repeat center #eee background-attachment:fixed height:1000px}</style><script type="text/javascript">window.onload=function(){var oBody=document.getElementById('bg_body') var oS=oBody.style function BgChenge(){oS.backgroundImage='url(2.jpg)' } function BgPosition(){oS.backgroundRepeat='no-repeat' oS.backgroundPosition='center' oS.backgroundAttachment='fixed' } function LoadMethod(){BgChenge() BgPosition()} setInterval(LoadMethod,1000)}</script></head><body id="bg_body"></body></html>你背景图片就设置了一个2.jpg再切换也是这一张图片啊如果有多张图片比如说1-10.jpg,那就把oS.backgroundImage='url(2.jpg)'改为oS.backgroundImage='url('+(parseInt(Math.random() * 10) + 1)+'.jpg)'

html格式

<div class="banner"><div class="banner_reel"><ul><li><img></li><li><img></li></ul></div></div>

$(function(){

  var nums=$(".banner_reel ul li").length //这里获取图片数量

  $(".banner").append(  //动态添加图片的索引显示

   "<div class='banner_num'></div>"  

  )

  for(i=1 i<=nums i++){

  var htmls="<span rel='"+i+"'>"+i+"</span>"

  $(".banner .banner_num").append(htmls) //这里把1 2 3 这些加进去

  }

  $(".banner .banner_num").show()

  $(".banner .banner_num span:first").addClass("hover") // 给第一个加上一个当前样式

  var sliderWidth = $(".banner .banner_reel").width() //获取单个图片宽度

  var sliderSum = nums

  var sliderReelWidth = sliderWidth * sliderSum // 获取总宽度

  $(".banner_reel ul").css({'width' : sliderReelWidth})//给ul加上宽度 让所有图片在一行

  //滑动函数

  rotate = function(){

  var triggerID = $active.attr("rel") - 1 

  var slider_reelPosition = triggerID * sliderWidth //获取滑动量

  

  $(".banner .banner_num span").removeClass('hover') 

  $active.addClass('hover') 

  

  //Slider Animation

  $(".banner .banner_reel ul").animate({

  left: -slider_reelPosition //滑动动画

  }, 500 )

  

  } 

  //定时函数

  rotateSwitch = function(){

  play = setInterval(function(){ 

  $active = $('.banner .banner_num span.hover').next() //设置下一个图片的索引

  if ( $active.length === 0) { 

  $active = $('.banner .banner_num span:first') //默认为第一个

  }

  rotate() //触发动画

  }, 5000) //每隔5秒触发

  }

  

  rotateSwitch() 

  //当鼠标放在图片上面时停止滑动

  $(".banner .banner_reel ul").hover(function() {

  clearInterval(play)

  }, function() {

  rotateSwitch() 

  })

  

  //当鼠标点击图片索引时

  $(".banner_num span").click(function() {

  $active = $(this) 

  clearInterval(play) 

  rotate() 

  rotateSwitch() 

  return false 

  })

})

//这个参考一下就行了  很久以前的了  有些地方不够优化