用一段js程序来实现动画功能


Posted in Javascript onMarch 06, 2007

自从ie对flash的显示方式进行改变后,flash这个东西一下子变成了一个鸡肋。
许许多多的网站都撤掉了以前的flash动画,改用一段js程序来实现动画功能.

csdn首页也是如此。。我无聊,自己写了一个,特点如下:

1.对搜索引擎友好
2.对美工友好,因为数据和代码是分开的,完全不懂js的都可以用fontpage修改动画内容

可以把js代码保存为一个文件 然后<script src="1.js"></script>,然后无须修改代码一个字母
就可以在多个页面中实现动画了

代码如下:

<style>  
#g_div{text-align:right;overflow:hidden}  
.b{width:24px; height:16px; background:#737373; font-size:14px; font-weight:bold; color:#fff; text-decoration:none;margin-left:1px}  
.b:hover{width:24px; height:16px; background:#780001; font-size:14px; font-weight:bold; color:#fff; text-decoration:none;margin-left:1px}  
.bhover{width:24px; height:16px; background:#780001; font-size:14px; font-weight:bold; color:#fff; text-decoration:none;margin-left:1px}  
</style>  <div id="g_div" style="width:270px;height:252px"><a   
href="#" target=_blank><img   
id="g_img" style="FILTER:revealTrans(duration=1,transition=23);width:266px;height:220px;border:1px green solid" src="http://zi.csdn.net/xian.gif">  
</a><a   
href="http://www.baidu.com/" for="http://zi.csdn.net/xian.gif"  target="_blank">1.CSDN程序员</a><a   
href="http://www.126.com/" for="http://zi.csdn.net/microsoft280_187.jpg"  target="_blank">2.CSDN程序员</a><a   
href="http://mp3.baidu.com/"  for="http://zi.csdn.net/live.gif"   target="_blank">3.CSDN程序员</a><a   
href="http://post.baidu.com/" for="http://zi.csdn.net/new-mba.gif"  target="_blank">4.CSDN程序员</a><a   
href="http://top.baidu.com/" for="http://zi.csdn.net/book.jpg"  target="_blank">5.CSDN程序员</a>  
</div>  
<script language="JavaScript">  
function f(){  
 var g_sec=3          //几秒后切换图片  
 var g_items=new Array()  
 var g_div=document.getElementById("g_div")   
 var g_img=document.getElementById("g_img")   
 var g_imglink=g_img.parentElement  
 var arr=g_div.getElementsByTagName("A")  
 var arr_length=arr.length  
 var g_index=1   
 var show_img=function(n){     
   if (/\d+/.test(n)){    
  var prev=g_index+1  
  g_index=n-1  
   }else{      
  var prev=(g_index>arr.length)?(arr_length-1):g_index+1  
  g_index=(g_index<arr_length-2)?(++g_index):0  
   }    
   if (document.all){  
    g_img.filters.revealTrans.Transition=23;  
   g_img.filters.revealTrans.apply();  
   g_img.filters.revealTrans.play();  
    }  
  arr[prev].className="b"     
  arr[g_index+1].className="bhover"  
  g_img.src=g_items[g_index].img.src  
  g_img.title=g_items[g_index].txt  
  g_imglink.href=g_items[g_index].url     
  g_imglink.target=g_items[g_index].target  
 }  
 for(var i=1;i<arr_length;i++){  
  g_items.push({txt:arr[i].innerHTML,  
   url:arr[i].href,  
   target:arr[i].target,  
   img:(function(){var o=new Image;o.src=arr[i].getAttribute("for");return o})()})   
  arr[i].title=arr[i].innerHTML  
  arr[i].innerHTML=[i," "].join("")  
  arr[i].className="b"  
  arr[i].onclick=function(){  
   event.returnValue=false;   
   show_img(event.srcElement.innerText)    
  }  
 }  
 show_img(1)    
 var t=window.setInterval(show_img,g_sec*1000)   
 g_img.onmouseover=function(){window.clearInterval(t)}  
 g_img.onmouseout=function(){t=window.setInterval(show_img,g_sec*1000)}    
}  
window.attachEvent("onload",f)   
</script> 
Javascript 相关文章推荐
十分钟打造AutoComplete自动完成效果代码
Dec 26 Javascript
Extjs学习笔记之六 面版
Jan 08 Javascript
Javascript Cookie读写删除操作的函数
Mar 02 Javascript
jQuery中innerWidth()方法用法实例
Jan 19 Javascript
jquery+html5制作超酷的圆盘时钟表
Apr 14 Javascript
在线引用最新jquery文件的实现方法
Aug 26 Javascript
JS常用倒计时代码实例总结
Feb 07 Javascript
Bootstrap滚动监听组件scrollspy.js使用方法详解
Jul 20 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
Dec 06 Javascript
Node.js中你不可不精的Stream(流)
Jun 08 Javascript
微信小程序实现无限滚动列表
May 29 Javascript
JavaScript函数柯里化
Nov 07 Javascript
用javascript动态调整iframe高度的方法
Mar 06 #Javascript
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
Mar 06 #Javascript
限制文本字节数js代码
Mar 06 #Javascript
用Div仿showModalDialog模式菜单的效果的代码
Mar 05 #Javascript
HTML-CSS群中单选引发的“事件”
Mar 05 #Javascript
用javascript实现页面打印的三种方法
Mar 05 #Javascript
一个可以显示阴历的JS代码
Mar 05 #Javascript
You might like
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
2011/11/07 PHP
PHP重定向的3种方式
2013/03/07 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
php判断GIF图片是否为动画的方法
2020/09/04 PHP
[原创]PHP简单开启curl的方法(测试可行)
2016/01/11 PHP
php实现记事本案例
2020/10/20 PHP
根据邮箱的域名跳转到相应的登录页面的代码
2012/02/27 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
2013/01/23 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
webpack项目轻松混用css module的方法
2018/06/12 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
javascript操作元素的常见方法小结
2019/11/13 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
[56:58]VP vs Optic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
用python处理图片实现图像中的像素访问
2018/05/04 Python
python计算日期之间的放假日期
2018/06/05 Python
对python 通过ssh访问数据库的实例详解
2019/02/19 Python
浅析Python 读取图像文件的性能对比
2019/03/07 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
浅谈Python3多线程之间的执行顺序问题
2020/05/02 Python
Python request post上传文件常见要点
2020/11/20 Python
深入CSS3 动画效果的总结详解
2013/05/09 HTML / CSS
详解CSS3的perspective属性设置3D变换距离的方法
2016/05/23 HTML / CSS
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
招聘与培训专员岗位职责
2014/01/30 职场文书
解除施工合同协议书
2014/10/17 职场文书
导游词之澳门妈祖庙
2019/12/19 职场文书
python自动化八大定位元素讲解
2021/07/09 Python
Linux中如何安装并部署Redis
2022/04/18 Servers
mysql序号rownum行号实现方式
2022/12/24 MySQL