首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 
设为首页
加入收藏
联系我们
热门关键字: .net应用  操作系统  Dreamweaver  WinRAR  网络推广
高级搜索
您当前的位置: 主页>编程相关>JAVASCRIPT>javascript实现多张图片轮流展示效果代码
javascript实现多张图片轮流展示效果代码
来源: 发布时间:2008-01-17 发布人: 浏览: 人次   字体: [ ]  
看到很多网站上都有这样的效果,感觉很不错。想据为己有,但是扣起来实在是太麻烦,于是自己写了一个。下面是简单的代码实现(只实现了基本的功能,样式和一些细节还没修改来)
和以前一样,整合到了dojo中了,现在用的是1.0
基本的原理很简单,在一个固定的地方展示图片和标题。这里用的是数组。指定展示图片用的id,以及展示标题的容器id。
还有就是根据图片数组长度,动态创建一系列的手动切换按钮,点击按钮就展示相应的图片和标题。目前仅实现了简单的功能。比在ie7,firfox2, Safari下做了简单测试。大体上就这个样子吧。 
 
下面是js
 
/**
* @fileoverview 定义了.
* @author hf
* @version 1.0
*/
if(!dojo._hasResource["com.hf.rollAd.RollerAd"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
dojo._hasResource["com.hf.rollAd.RollerAd"] = true;
dojo.provide("com.hf.rollAd.RollerAd");
/**
* 图片轮流展示类
* @class 在一个窗口中轮番展示一些图片
* @constructor
* @titles {Array} 标题数组参数.
* @picUrls {Array}图片数组参数.
* @titleContainerId {String} 存放标题的容器id.
* @picContainerId {String} 存放图片的容器id.
* @manualControlContainerId {String} 存放转换控制的容器Id.
* @chandeSecond {int} 图片翻转的秒数.
* @return 返回一个com.hf.rollAd.RollerAd对象
*/
 
com.hf.rollAd.RollerAd = function (/*Array*/ titles, /*Array*/ picUrls,/*links*/ links,
                                  /*String*/titleContainerId,/*String*/picId,
                                  /*String*/manualControlContainerId,
                                  /*int*/ chandeSecond){
      /**
       *一组标题
       * @ type Array
      */
      this.titles=titles;
      /**
       *一组图片链接
       * @ type Array
      */
      this.picUrls=picUrls;
     
      this.links = links;
       /**
       *存放标题的容器id
       * @ type String
      */
      this.titleContainerId=titleContainerId;
       /**
       *存放图片的容器id
       * @ type String
      */
      this.picId=picId;
       /**
       *存放转换控制的容器Id
       * @ type String
      */
      this.manualControlContainerId=manualControlContainerId;
     
       /**
         *图片翻转的秒数
         * @ type int
       */
      this.chandeSecond=chandeSecond;
     
      /*存放翻转图片的按钮的数组*/
      this.buttonArray=[];
      /*记录当前的图片序号,*/
      this.currentCount= 0;
};
com.hf.rollAd.RollerAd.prototype.init=function (){
 
     /*初始化手动图片切换的钮的生成*/
     var manualControlContainer= document.getElementById(this.manualControlContainerId);
     if(manualControlContainer!=null){
        for(var i = 0;i<this.picUrls.length;i++){
            var span = document.createElement("span");
            span.innerHTML = ""+i;
            span.index=i;
            span.controller=this;
            span.onmouseover=function(){
               this.style.cursor="pointer";
            };           
            span.onclick=function(){              
                this.controller.show(this.index);        
               
            };
          
            this.addToManualPane(span);
          
            /*存入数组中去*/
            this.buttonArray[i] = span;
           
        }//for
       
     }//if    
    
     /*展示图片和标题层的数据*/
     this.show(0);   
                                
};
/**
* 将手动按钮增加到对应的层上
* @return 返回void
*/
 
com.hf.rollAd.RollerAd.prototype.addToManualPane=function (span){
   var manualControlContainer= document.getElementById(this.manualControlContainerId);  
   manualControlContainer.appendChild(span);
  
};
 
com.hf.rollAd.RollerAd.prototype.showNext=function (){
   if(this.currentCount>=this.picUrls.length){
      this.currentCount=0
  
   }else{
    this.currentCount++;
   }
   this.show(this.currentCount);                                      
};
/**
* 在显示相应的图片和标题
* @return 返回void
*/
 
com.hf.rollAd.RollerAd.prototype.show=function (count){
 if(count>=this.picUrls.length){
      this.currentCount=0
  
   }else{
    this.currentCount=count;
   }
   this.showPic(this.currentCount);
   this.showTitle(this.currentCount);
                                       
}
/**
* 在显示相应的图片
* @return 返回void
*/
com.hf.rollAd.RollerAd.prototype.showPic=function (count){
 var pic = document.getElementById(this.picId);
 pic.src=this.picUrls[count];
                                        
};

共2页: 上一页 1 [2] 下一页
相 关 文 章   发布商链接
·鼠标右下角显示层,javascript读取xm...
·Ext2.0框架的Grid使用介绍祥解
·javaScript中如何定义类
·幻灯片焦点图片新闻显示调用focus.sw...
·Adobe Reader利用javascript让PDF文...
·基于Ajax的可滚动表格代码实例
·浅谈javascript函数劫持,附实例
·使用javascript标记高亮关键词的代码...
·javascript读写TEXT文本文件示例代码
·javascript实现动态多附件上传方法
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·javascript脚本实现右键弹出...
·javascript结合Ajax制作的可...
·javascript实现页面载入等待...
·javascript实现一个IP只弹窗...
·javascript导航条比较实用的...
·怎样把select选择下拉框中的...
·实用代码,让网站具有简繁体在
·JavaScript脚本调试常用方法...
·javascript版生成Excel报表
·Javascript时间差计算函数代...
·Javascript实现日期的联动选...
·javascript实现的网页软键盘...
·javascript标记高亮关键词示...
·如何防止页面被别人的frame引
·javascrpt获取选中的内容代码
热 门 文 章
·Ext2.0框架的Grid使用介绍祥...
·javascript使用xml数据岛的简...
·JS实现多行的HTML静态表格分...
·Adobe Reader利用javascript...
·幻灯片焦点图片新闻显示调用f...
·javascript读写TEXT文本文件...
·javascript实现动态多附件上...
·Javascript在IE和FireFox中的...
·javascript解析身份证号码得...
·javascript实现类似IE7中的Ta...
·js操作innerHTML 引起的未知...
·实现静态页面点击数的自动更...
·鼠标右下角显示层,javascrip...
·javascript清除界面上所有输...
·Javascript里怎么取Array的某...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .