用一段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 相关文章推荐
escape、encodeURI、encodeURIComponent等方法的区别比较
Dec 27 Javascript
autoPlay 基于jquery的图片自动播放效果
Dec 07 Javascript
js实现点击左右按钮轮播图片效果实例
Jan 29 Javascript
JavaScript操作DOM元素的childNodes和children区别
Apr 01 Javascript
原生js制作简单的数字键盘
Apr 24 Javascript
jquery实现可自动判断位置的弹出层效果代码
Oct 12 Javascript
jQuery验证插件validate使用方法详解
Sep 13 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
Jan 09 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
Aug 01 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
May 13 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
Feb 12 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
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对大文件进行读取操作的实现代码
2013/01/23 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
PHP生成树的方法
2015/07/28 PHP
完美解决在ThinkPHP控制器中命名空间的问题
2017/05/05 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
基于jQuery的js分页代码
2010/06/10 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
2016/02/29 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
jQuery实现弹窗下底部页面禁止滑动效果
2017/12/19 jQuery
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
基于javascript canvas实现五子棋游戏
2020/07/08 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
在Django的URLconf中使用命名组的方法
2015/07/18 Python
Python使用pylab库实现画线功能的方法详解
2017/06/08 Python
Python编程之Re模块下的函数介绍
2017/10/28 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
Python 使用PIL numpy 实现拼接图片的示例
2018/05/08 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
PyQt5实现暗黑风格的计时器
2019/07/29 Python
Python多线程Threading、子线程与守护线程实例详解
2020/03/24 Python
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
香港网上花店:FlowerAdvisor香港
2019/05/30 全球购物
C#的几个面试问题
2016/05/22 面试题
实习自我鉴定模板
2013/09/28 职场文书
工程管理造价应届生求职信
2013/11/13 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
如何用Navicat操作MySQL
2021/05/12 MySQL