用一段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 相关文章推荐
各浏览器中querySelector和querySelectorAll的实现差异分析
May 23 Javascript
js事件(Event)知识整理
Oct 11 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
Dec 30 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
Aug 24 Javascript
JS实现的DIV块来回滚动效果示例
Feb 07 Javascript
详解JS异步加载的三种方式
Mar 07 Javascript
ES6生成器用法实例分析
Apr 10 Javascript
基于JavaScript实现的快速排序算法分析
Apr 14 Javascript
深入掌握 react的 setState的工作机制
Sep 27 Javascript
Angular简单验证功能示例
Dec 22 Javascript
原生javascript实现连连看游戏
Jan 03 Javascript
基于Fixed定位的框选功能的实现代码
May 13 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下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
2015/03/18 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
2017/08/11 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
jquery 事件执行检测代码
2009/12/09 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
DOM基础教程之使用DOM设置文本框
2015/01/20 Javascript
javascript中键盘事件用法实例分析
2015/01/30 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
2017/01/05 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
javascript实现简易计算器
2017/02/01 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
Python贪吃蛇游戏编写代码
2020/10/26 Python
python实现八大排序算法(1)
2017/09/14 Python
Python实现自动发送邮件功能
2021/03/02 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
python 使用opencv 把视频分割成图片示例
2019/12/12 Python
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
Oakley西班牙官方商店:太阳眼镜和男女运动服
2019/04/26 全球购物
机械设计专业应届生求职信
2013/11/21 职场文书
中学家长会邀请函
2014/01/17 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
户外活动策划方案
2014/03/12 职场文书
爱国影片观后感
2015/06/18 职场文书
2019年年中职场激励人心语录30条
2019/08/07 职场文书
奇妙的 CSS shapes(CSS图形)
2021/04/05 HTML / CSS
Java中的继承、多态以及封装
2022/04/11 Java/Android