用一段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 相关文章推荐
解析URI与URL之间的区别与联系
Nov 22 Javascript
moment.js轻松实现获取当前日期是当年的第几周
Feb 05 Javascript
JS动态加载当前时间的方法
Feb 09 Javascript
2则自己编写的jQuery特效分享
Feb 26 Javascript
js实现点击向下展开的下拉菜单效果代码
Sep 01 Javascript
jQuery平滑旋转幻灯片特效代码分享
Sep 07 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
Dec 28 Javascript
js实现带农历和八字等信息的日历特效
May 16 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
Jun 21 Javascript
如何使用pm2快速将项目部署到远程服务器
Mar 12 Javascript
selenium+java中用js来完成日期的修改
Oct 31 Javascript
VsCode里的Vue模板的实现
Aug 12 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的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
PHP脚本自动识别验证码查询汽车违章
2016/12/20 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
javascript实现简单的进度条
2015/07/02 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
解决URL地址中的中文乱码问题的办法
2017/02/10 Javascript
基于JavaScript实现的快速排序算法分析
2017/04/14 Javascript
详解webpack+es6+angular1.x项目构建
2017/05/02 Javascript
ReactNative页面跳转Navigator实现的示例代码
2017/08/02 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
React+TypeScript+webpack4多入口配置详解
2019/08/08 Javascript
详解Howler.js Web音频播放终极解决方案
2020/08/23 Javascript
python下如何让web元素的生成更简单的分析
2008/07/17 Python
Python实现list反转实例汇总
2014/11/11 Python
Python编程中运用闭包时所需要注意的一些地方
2015/05/02 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
python库lxml在linux和WIN系统下的安装
2018/06/24 Python
python list转置和前后反转的例子
2019/08/26 Python
AmazeUI 输入框组的示例代码
2020/08/14 HTML / CSS
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
成都思必达公司C#程序员招聘面试题
2013/06/26 面试题
简述安装Slackware Linux系统的过程
2012/05/08 面试题
自荐书范文
2013/12/08 职场文书
社区志愿者培训方案
2014/06/10 职场文书
小学语文教研活动总结
2014/07/01 职场文书
2014医学院领导干部四风对照检查材料思想汇报
2014/09/16 职场文书
教师党员整改措施
2014/10/24 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js