用一段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 相关文章推荐
prototype 源码中文说明之 prototype.js
Sep 22 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
Jul 31 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
Sep 22 Javascript
编写简单的jQuery提示插件
Dec 21 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
Apr 28 Javascript
星期几的不同脚本写法(推荐)
Jun 01 Javascript
javascript实现瀑布流动态加载图片原理
Aug 12 Javascript
jQuery查找节点方法完整实例
Sep 13 Javascript
官方推荐react-navigation的具体使用详解
May 08 Javascript
AngularJS与后端php的数据交互方法
Aug 13 Javascript
小程序二次贝塞尔曲线实现购物车商品曲线飞入效果
Jan 07 Javascript
JavaScript相等运算符的九条规则示例详解
Oct 20 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
PHPShop存在多个安全漏洞
2006/10/09 PHP
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
php include和require的区别深入解析
2013/06/17 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
php实现遍历多维数组的方法
2015/11/25 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
jquery实现控制表格行高亮实例
2013/06/05 Javascript
js onload处理html页面加载之后的事件
2013/10/30 Javascript
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
js简单工厂模式用法实例
2015/06/30 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
js 创建对象 经典模式全面了解
2016/08/16 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
使用JS编写的随机抽取号码的小程序
2017/08/11 Javascript
vue2单元测试环境搭建
2018/05/24 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
vue移动端下拉刷新和上滑加载
2020/10/27 Javascript
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
2018/07/11 Python
python实现自动登录后台管理系统
2018/10/18 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
Python 实现一个计时器
2020/07/28 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
实现Python3数组旋转的3种算法实例
2020/09/16 Python
python定时截屏实现
2020/11/02 Python
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
PPP协议组成及简述协议协商的基本过程
2015/05/28 面试题
班组长安全工作职责
2014/07/15 职场文书
2014年勤工助学工作总结
2014/11/24 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
蓬莱阁导游词
2015/02/04 职场文书
养成教育主题班会
2015/08/13 职场文书