九号源码中心

九号源码中心 -> 技术文档 -> 网页制作 -> HTML/CSS学习 -> 文章内容

DHTML幻灯片播放程序(三)



作者:佚名  来源:不详  发布时间:2007-10-22 16:53:14  发布人: wuxinglq

  下面,我要开始最为核心的部分了,就是编写javascript程序了。我们的思路是,可以定义一组图片(若干张),当页面出现时先显示第一张图片,并预载入第二张图片,第一张图片载入后5秒钟,如果第二张图片也载入了,我们就开始自动切换到第二张图片,此时并预载入第三张图片,如果5秒钟内我们载入了第三张图片,就自动切换到第三张图片,如此播放下去直到最后一张又从头开始。当然,这是自动播放的了。我们还允许用户手动进行向前和向后的播放。 

  首先,我们要解决的问题是图片的预载入,因为这决定了切换过程的流畅性和播放过程的完美性。要预载入一幅图片很简单,我们只要在内存中新建一个图片的实例变量,并把该变量指向一幅图片,这样,我们的浏览器便会自动载入这幅图片的,这就是图片的预载入。用javascript写出来就是下面这个样子: 

      var myImage = new Image()
      myImage.src = "someImage.gif" 

  然后,我们还要知道,图片是否载入了吗?如果载入了,我们就显示,如果没载入,那么就要出错了。于是我们还要改一下上面的代码,在其中加入两条语句,所以,这段JavaScript就变成下面的样子了: 

      var img = new Image() 
      img.onload = doReadyImage 
      img.onerror = doErrorDisplay 
      img.src = "someImage.gif" 

  我们加入了图片的onload和onerror事件,分别代表是否预载和预载出错的事件。这两条句语必需在img.src语句的前面。否则的话,图片预载就会出错。 

  最后就是我们的图片切换程序了,在前面,我们复习了CSS中Filter转换滤镜的各种效果,这里我们用代号为23的随机效果,下面,是我们为在IE中这种效果所写的JavaScript程序: 

if (document.images.slideShow.filters) 

  document.images.slideShow.filters[0].Stop() 
  document.images.slideShow.filters[0].Apply() 
  // 使用随机的转换效果
  document.images.slideShow.filters.revealTrans.transition=23 
}

document.images.slideShow.src = sSource 
// 开始进行转换效果的执行 
if (document.images.slideShow.filters) 
    document.images.slideShow.filters[0].Play() 


[] [返回上一页] [打 印] [收 藏]

上一篇文章:巧妙的幻灯片秀
下一篇文章:DHTML幻灯片播放程序(二)