用一段js程序来实现动画功能

自从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>

(0)

相关推荐

  • javascript 小型动画组件与实现代码

    做一个普通的动画效果,js是怎么完成的呢.看一下例子 复制代码 代码如下: setInterval(function(){ element.style.left =parseFloat(element.style.left) +(n) +'px'; },10); test var element = document.getElementById("test2"); setInterval(function(){ element.style.left =parseFloat(eleme

  • javascript基础的动画教程,直观易懂

    直接点击观看,可以下载http://cimg.163.com/tech/netSchool/dreamweaverFIF/5_1.swfhttp://cimg.163.com/tech/netSchool/dreamweaverFIF/5_2.swfhttp://cimg.163.com/tech/netSchool/dreamweaverFIF/5_3.swfhttp://cimg.163.com/tech/netSchool/dreamweaverFIF/5_4a.swfhttp://cim

  • jQuery 动画基础教程

    注意此代码需要用到jquery的js文件,才可以用所以大家可以先下载一个jquery文件,注意调用路径.代码: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1

  • JS动画效果代码2

    Untitled Document function $(pId){ return document.getElementById(pId); } function JPos(){ } JPos.getAbsPos = function(pTarget){ var _x = 0; var _y = 0; while(pTarget.offsetParent){ _x += pTarget.offsetLeft; _y += pTarget.offsetTop; pTarget = pTarget

  • JS动画效果代码3

    慢慢来,这次实现了向任意方向扩展! 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">  <head>  &l

  • javascript动画效果类封装代码

    <input id=output3 style="position:absolute;top:300;left:300;"/> <input id=output1 /> <input id=output2 /> <br/> <input id=output4 /> <script> function Animation(target,targetProperty,closure,precision) {   clo

  • 用一段js程序来实现动画功能

    自从ie对flash的显示方式进行改变后,flash这个东西一下子变成了一个鸡肋. 许许多多的网站都撤掉了以前的flash动画,改用一段js程序来实现动画功能. csdn首页也是如此..我无聊,自己写了一个,特点如下: 1.对搜索引擎友好 2.对美工友好,因为数据和代码是分开的,完全不懂js的都可以用fontpage修改动画内容 可以把js代码保存为一个文件 然后<script src="1.js"></script>,然后无须修改代码一个字母 就可以在多个页面

  • 如何利用JS实现时间轴动画效果

    目录 css动画 什么是时间轴动画? 动画对象 动画函数 思考 总结 css动画 在前端开发中,一些简单的动效往往是使用 css3 的 @keyframes 来实现的 ,如: .div1 { width: 100px; height: 100px; background: red; animation: changeColor 2s; } @keyframes changeColor { 0% {background: red;} 50% {background: yellow;} 100% {

  • 微信小程序 连续旋转动画(this.animation.rotate)详解

    微信小程序 连续旋转动画 一..js中封装旋转动画方法 添加animation属性 data:{ animation:''" } 改变animation的值(官网提供角度范围是-180~180,但是我发现角度越大会一直旋转) onShow: function() { console.log('index---------onShow()') this.animation = wx.createAnimation({ duration: 1400, timingFunction: 'linear'

  • anime.js 实现带有描边动画效果的复选框(推荐)

    anime.js anime.js是一个灵活的轻型JavaScript动画库. 它与CSS,个别变换,SVG,DOM属性和JS对象. 特征 具体的动画参数 具体目标值 多个定时值 播放控制 运动路径 在网页或者是APP的开发中,动画运用得当可以起到锦上添花的作用.正确使用动画,不但可以有助于用户理解交互的作用,还可以大大提高网页应用的魅力和使用体验.并且在现在的网页开发中,动画已经成为了一个设计的标准,变得越来越重要.特别是在一些和用户交互的地方,使用动画能更好的給用户以反馈,提升用户的操作体验

  • TypeScript开发Node.js程序的方法

    当我第一次发现 TypeScript 时,就把它用到了自己的 JavaScript 程序中.使用 TypeScript 有很多好处,现在你要让我在用原生 JavaScript 写任何东西的话,需要给我一个令人信服的理由. 在本文中,我将向你展示如何设置一个简单的开发环境,以便使用 TypeScript 编写 Node.js 应用程序. 首先在 TypeScript 中可能有一千种或更多种不同的方法去创建 Node.js 程序.我只是想展示自己喜欢的方式. 另外你可以在此处找到我的入门项目:htt

  • 小程序实现抽奖动画

    本文实例为大家分享了小程序实现抽奖动画展示的具体代码,供大家参考,具体内容如下 所有的抽奖都是由后台计算后得到的,前台只做动画展示 <view class='top-banner center'> <!-- 轮播展示中奖信息区域 --> <swiper autoplay="{{true}}" interval="{{1500}}" circular="{{true}}" vertical='{{true}}'>

  • 微信小程序实现自定义动画弹框/提示框的方法实例

    目录 前言 css3 实现动画 小程序动画 API-实现动画 结语 相关文档 前言 在小程序中,用户与界面进行交互时,有一些用户反馈提示,例如:触发某个按钮,从底部弹出框,从顶部弹出等 如今,有一些现成的 UI 库,虽然已经实现了的,但若只是为了实现一个底部弹出框或者自定义提示框,不引用第三方 UI 库 怎么手动原生方式去实现呢,最主要的是怎么去实现动画 css3 实现动画 如下是wxml代码 <view> <view class="click-btn" catcht

  • sso跨域写cookie的一段js脚本(推荐)

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script> var setcookitarray = ""; setcookitarray = "[\"http://passport.a.com/main/setCookie.do?domain=\",\"http://passport.

  • 充分发挥Node.js程序性能的一些方法介绍

    一个Node.JS 的进程只会运行在单个的物理核心上,就是因为这一点,在开发可扩展的服务器的时候就需要格外的注意. 因为有一系列稳定的API,加上原生扩展的开发来管理进程,所以有很多不同的方法来设计一个可以并行的Node.JS运用.在这篇博文里,我们就来比较下这些可能的架构. 这篇文章同时也介绍compute-cluster 模块:一个小型的Node.JS库,可以用来很方便的管理进程,从来二线分布式计算. 遇到的问题 我们在Mozilla Persona的项目中需要可以处理大量不同特征的请求,所

  • 把Node.js程序加入服务实现随机启动

    如何开机就启动node.js程序 复制代码 代码如下: npm install -g qckwinsvc 定位到安装目录,node_modules/.bin/ 运行如下命令: 复制代码 代码如下: > qckwinsvc prompt: Service name: [name for your service] prompt: Service description: [description for it] prompt: Node script path: [path of your nod

随机推荐