用一段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 相关文章推荐
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
Jan 22 Javascript
用jQuery打造TabPanel效果代码
May 22 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
May 07 Javascript
Jquery通过Ajax访问XML数据的小例子
Nov 18 Javascript
学习JavaScript设计模式之策略模式
Jan 12 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
Oct 05 Javascript
js数字计算 误差问题的快速解决方法
Feb 28 Javascript
深入理解ES6中let和闭包
Feb 22 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
Aug 08 jQuery
Vue绑定内联样式问题
Oct 17 Javascript
基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法
Dec 09 Javascript
js判断鼠标移入移出方向的方法
Jun 24 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中遍历stdclass object的实现代码
2011/06/09 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
Thinkphp的volist标签嵌套循环使用教程
2014/07/08 PHP
PHP实现无限极分类图文教程
2014/11/25 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
2019/10/03 PHP
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
jquery预览图片实现鼠标放上去显示实际大小
2014/01/16 Javascript
让alert不出现弹窗的两种方法
2014/05/18 Javascript
使用npm发布Node.JS程序包教程
2015/03/02 Javascript
轻量级的原生js日历插件calendar.js使用指南
2015/04/28 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
nodejs实现bigpipe异步加载页面方案
2016/01/26 NodeJs
jquery操作select元素和option的实例代码
2016/02/03 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
2016/05/03 Javascript
简单实现js放大镜效果
2017/07/24 Javascript
详解如何使用webpack打包JS
2018/06/21 Javascript
详解vue v-model
2020/08/31 Javascript
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
PyCharm 2019.3发布增加了新功能一览
2019/12/08 Python
jupyter notebook实现显示行号
2020/04/13 Python
如何利用Python 进行边缘检测
2020/10/14 Python
运动服饰每月订阅盒:Ellie
2018/04/29 全球购物
工商管理专业应届生求职信
2013/11/04 职场文书
社区工作者思想汇报
2014/01/13 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
护理专业自我评价
2015/03/11 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书
Linux在两个服务器直接传文件的操作方法
2022/08/05 Servers