javascript学习-原生javascript的小特效(改变透明度效果)

时间:2022-09-27 07:53:48

前些日子看了个视频所以就模仿它的技术来为大家做出几个简单的JS小特效 ( 以下效果兼容IE5+ IE5-以下没有测试哦)

今天为大家演示的效果是一个div,鼠标经过的时候透明度为100%,鼠标移出的时候透明度变为原来的50%。

也许大家会问现在这么多流行的JS框架和CSS3的transition配合伪类:hover都可以实现的效果干嘛要用这么老套的方式呢?没错的,现在用CSS3,JS框架都是可以轻松的实现以下的效果,但是为了学习原生的javascript的童鞋,用CSS3和JS框架实现的就留给大家去实现了。现在我们还是多用原生的方法吧。

1:先给出HTML:

<body>

<div id="div1">

</div>

</body>

2:列出CSS:

<style type="text/css">  

body{margin: 0;padding: 0;}

div{background: red;width: 200px;height: 150px;opacity: 0.5;filter:alpha(opacity:50);  }

</style>

3:现在到了我们的JS部分

<script type="text/javascript">

     window.onload=function(){   页面加载完执行这个匿名函数

      var div=document.getElementById("div1");   获取div

     div.onmouseover=function(){  当鼠标经过这个div的时候执行onOut函数并传参数100

      onOut(100);

     }

      div.onmouseout=function(){ 当鼠标离开这个div的时候执行onOut函数并传参数10

      onOut(10);

      }

     }

     var timer=null; 

      创建一个变量用来后面装定时器唯一的ID不明白定时器的童鞋可以看看我之前专门写的javascript定时器文章

     var opa=10; 定义一个原始的透明度这里和CSS中的定义一样

     function onOut(tart){   创建一个函数onOut

      var div=document.getElementById("div1");

      clearInterval(timer);  

      一开始触发这个函数的时候先把定时器都清空下,防止之前的定时器执行的时候再次触发该函数而叠加

      timer=setInterval(function(){ 创建一个变量用来后面装定时器唯一的ID不明白定时器的童鞋可以看看我之前专门写的javascript定时器文章

      var midd=0;   因为要有动画的效果要每隔一段时间都增加或者减少透明度,我们需要一个中中间变量,我们设置为0

        if(opa>tart){  比较模板透明都和当前透明度,来确定透明度的变化是增还是减

         midd=-10;   让当前透明都每次递减10

        }else{

        midd=10;  让当前透明都每次增加10

        }





        if(tart==opa){ 比较模板透明都和当前透明度,当他们相等的时候 ,就把定时器都清空

        clearInterval(timer); 





        }else{

        opa+=midd;  让透明度opa=opa+midd,然后把它赋值给当前div的透明度属性

        div.style.filter='alpha(opacity:'+opa+')';  兼容IE

        div.style.opacity=opa/100;





        }

      },10)





     }

</script>

javascript学习-原生javascript的小特效(改变透明度效果)的更多相关文章

  1. javascript学习-原生javascript的小特效(原生javascript实现链式运动)

    以下代码就不详细解析了,在我之前的多个运动效果中已经解析好多次了,重复的地方这里就不说明了,有兴趣的童鞋可以去看看之前的文章<原生javascript的小特效> <!DOCTYPE ...

  2. javascript学习-原生javascript的小特效(多个运动效果整理)

    以下代码就不详细解析了,在我之前的多个运动效果中已经解析好多次了,重复的地方这里就不说明了,有兴趣的童鞋可以去看看之前的文章<原生javascript的小特效> <!DOCTYPE ...

  3. javascript学习-原生javascript的小特效(简单的运动效果)

    前些日子看了个视频所以就模仿它的技术来为大家做出几个简单的JS小特效 一:运动特效(主要是通过改变元素的left,right,height,width,opacity来达到运动的效果) 我们今天做一个 ...

  4. javascript学习-原生javascript的小特效(多物体运动效果)

    前些日子看了个视频所以就模仿它的技术来为大家做出几个简单的JS小特效 今天为大家做的是多个物体的运动效果, 1:HTML <body> <ul>       <li&gt ...

  5. Javascript学习1 - Javascript中的类型对象

    原文:Javascript学习1 - Javascript中的类型对象 1.1关于Numbers对象. 常用的方法:number.toString() 不用具体介绍,把数字转换为字符串,相应的还有一个 ...

  6. JavaScript学习13 JavaScript中的继承

    JavaScript学习13 JavaScript中的继承 继承第一种方式:对象冒充 <script type="text/javascript"> //继承第一种方式 ...

  7. Javascript学习2 - Javascript中的表达式和运算符

    原文:Javascript学习2 - Javascript中的表达式和运算符 Javascript中的运算符与C/C++中的运算符相似,但有几处不同的地方,相对于C/C++,也增加了几个不同的运算符, ...

  8. javascript学习&lpar;二&rpar;javascript常见问题总结

    在js使用过程中,经常会碰到一些问题,本人利用闲暇时间整理了一些常见问题的解决方法,贴出来和大家分享,有需要的朋友可以参考下 1.JS中方法和变量都是区分大小写的  2.单引号.双引号在JS中没有特殊 ...

  9. 【javascript学习——《javascript高级程序设计》笔记】DOM操作

    DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘了一个层次节点树,允许开发人员添加.移除和修改. 1.节点层次 <html> <head& ...

随机推荐

  1. Struts2标签大全

    A:<s:a xhref=""></s:a>-----超链接,类似于html里的<a></a><s:action name=& ...

  2. 22&period;访问者模式&lpar;Vistor Pattern&rpar;

    using System; using System.Collections; namespace ConsoleApplication5 { /// <summary> /// 访问者模 ...

  3. C&num;编写的通过汉字得到拼音和五笔码

    public static class SpellAndWbConfig { #region 变量声明 // XML文件读取实例 /// <summary> /// XML文件读取实例 / ...

  4. 【架构】生成全局唯一ID的3个思路,来自一个资深架构师的总结

    标识(ID / Identifier)是无处不在的,生成标识的主体是人,那么它就是一个命名过程,如果是计算机,那么它就是一个生成过程.如何保证分布式系统下,并行生成标识的唯一与标识的命名空间有着密不可 ...

  5. ajax重写,js方法重新

    重写Jquery的$.ajax方法 (function($){ //备份jquery的ajax方法 var _ajax=$.ajax; //重写jquery的ajax方法 $.ajax=functio ...

  6. json格式的字符串转为json对象遇到特殊字符问题解决

    中午做后台发过来的json的时候转为对象,可是有几条数据一直出不来,检查发现json里包含了换行符,造成这种情况的原因可能是编辑部门在编辑的时候打的回车造成的 假设有这样一段json格式的字符串 va ...

  7. C&num;操作Word (1)Word对象模型

    Word对象模型  (.Net Perspective) 本文主要针对在Visual Studio中使用C# 开发关于Word的应用程序 来源:Understandingthe Word Object ...

  8. 老李分享:持续集成学好jenkins

    老李分享:持续集成学好jenkins   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.poptest测试开发工程师就业培训请大 ...

  9. Visual Studio 2017的一些使用记录

    只要在整个项目组里加一个新的项目,vs就会去自动修改sln文件 新加一个项目的理解为:菜单里 File->New->Project一个项目编译后生成1个dll文件 sln是文本文件只有vs ...

  10. 第二章 JavaScript总结(下)

    js参考表 变量的引用 <script> var n=10; m = 10; //全局变量 function a () { var x = 10; //局部变量 b = 10;//全局变量 ...