转自http://kb.cnblogs.com/page/90854/

参数说明:
  fadeIn()与fadeOut()均有三个参数,第一个是事件, 必填; 第二个是淡入淡出速度, 正整数, 大小自己权衡, 可选参数; 第三个, 是指定淡入淡出到的透明度值(类似于jQuery中的fadeTo()), 0~100的正整数值, 也是可选参数.

  1.  
  1. window.onload = function(){
  2. //底层共用
  3. var iBase = {
  4. Id: function(name){
  5. return document.getElementById(name);
  6. },
  7. //设置元素透明度,透明度值按IE规则计,即0~100
  8. SetOpacity: function(ev, v){
  9. ev.filters ? ev.style.filter = 'alpha(opacity=' + v + ')' : ev.style.opacity = v / 100;
  10. }
  11. }
  12. //淡入效果(含淡入到指定透明度)
  13. function fadeIn(elem, speed, opacity){
  14. /*
  15. * 参数说明
  16. * elem==>需要淡入的元素
  17. * speed==>淡入速度,正整数(可选)
  18. * opacity==>淡入到指定的透明度,0~100(可选)
  19. */
  20. speed = speed || 20;
  21. opacity = opacity || 100;
  22. //显示元素,并将元素值为0透明度(不可见)
  23. elem.style.display = 'block';
  24. iBase.SetOpacity(elem, 0);
  25. //初始化透明度变化值为0
  26. var val = 0;
  27. //循环将透明值以5递增,即淡入效果
  28. (function(){
  29. iBase.SetOpacity(elem, val);
  30. val += 10;
  31. if (val <= opacity+500) {
  32. setTimeout(arguments.callee, speed);
  33. }else{
  34. fadeOut(iBase.Id(elem.id));
  35. }
  36. })();
  37. }
  38.  
  39. //淡出效果(含淡出到指定透明度)
  40. function fadeOut(elem, speed, opacity){
  41. /*
  42. * 参数说明
  43. * elem==>需要淡入的元素
  44. * speed==>淡入速度,正整数(可选)
  45. * opacity==>淡入到指定的透明度,0~100(可选)
  46. */
  47. speed = speed || 20;
  48. opacity = opacity || 0;
  49. //初始化透明度变化值为0
  50. var val = 150;
  51. //循环将透明值以5递减,即淡出效果
  52. (function(){
  53. iBase.SetOpacity(elem, val);
  54. val -= 10;
  55. console.log(opacity)
  56. if (val >= opacity) {
  57. setTimeout(arguments.callee, speed);
  58. }else if (val < 0) {
  59. //元素透明度为0后隐藏元素
  60. elem.style.display = 'none';
  61. }
  62. })();
  63. }
  64.  
  65. /* var btns = iBase.Id('demo').getElementsByTagName('input');
  66.  
  67. btns[0].onclick = function(){
  68.  
  69. }
  70. btns[1].onclick = function(){
  71. fadeOut(iBase.Id('fadeOut'),40);
  72. }
  73. btns[2].onclick = function(){
  74. fadeOut(iBase.Id('fadeTo'), 20, 10);
  75. }*/
  76. $(".topic_foot_ul2").on("tap",function(){
  77. var is = $(this);
  78. is.find("a").toggleClass("red");
  79. if(!($(".red")).length==0){
  80. fadeIn(iBase.Id('fadeIn'),20,100);
  81. console.log("1")
  82. }else{
  83. fadeIn(iBase.Id('fadeOut'),20,100);
  84. }
  85.  
  86. })
  87.  
  88. }

js原生实现淡入淡出的更多相关文章

  1. (38)JS运动之淡入淡出

    基本思路:使用样式filter.可是要区分IE浏览器和chrom.firefox的不同,详细也是用定时器来实现. <!DOCTYPE HTML> <!-- --> <ht ...

  2. 图片轮播(淡入淡出)--JS原生和jQuery实现

    图片轮播(淡入淡出)--js原生和jquery实现 图片轮播有很多种方式,这里采用其中的 淡入淡出形式 js原生和jQuery都可以实现,jquery因为封装了很多用法,所以用起来就简单许多,转换成j ...

  3. 淡入淡出效果的js原生实现

    淡入淡出效果,在日常项目中经常用到,可惜原生JS没有类似的方法,而有时小的页面并不值得引入一个jQuery库,所以就自己写了一个,已封装, 有用得着的朋友, 可以直接使用. 代码中另附有一个设置元素透 ...

  4. 原生JS实现淡入淡出效果(fadeIn/fadeOut/fadeTo)

    淡入淡出效果,在日常项目中经常用到,可惜原生JS没有类似的方法,而有时小的页面并不值得引入一个jQuery库,所以就自己写了一个,已封装, 有用得着的朋友, 可以直接使用. 代码中另附有一个设置元素透 ...

  5. 原生js实现简单轮播的淡入淡出效果

    实现这种淡入淡出的轮播关键在于css的一种设置  首先它不能像传统的轮播显示隐藏 或者左右浮动 他应该让其固定定位使其重叠在一起  达到这种效果  然后设置c3动画属性 transition:1s; ...

  6. js实现多个图片淡入淡出,框架

    单个淡入淡出已经写过,可以看看上几遍的博文 <style> *{ margin:0; padding:0; } div{ height:100px; width:100px; backgr ...

  7. js 淡入淡出的图片

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 针对淡入淡出的定时轮播效果js

    如果不使用jquery的fadeIn和fadeOut的接口和不适用animate情况下,如果要做用js实现淡入淡出轮播效果,我所想到的办法就是使用css3新特性transition(注意好兼容性). ...

  9. js淡入淡出

    示例: js淡入淡出 原理:更改css不透明数值 知识点: css不透明 filter:alpha(opacity:30); opacity:0.3;} 小技巧: 小于临界值,做加速 大于临界值,做减 ...

随机推荐

  1. PHP 标准库 SPL 之数据结构栈(SplStack)简单实践

    PHP 5.3.0 版本及以上的堆栈描述可以使用标准库 SPL 中的 SplStack class,SplStack 类继承双链表 ( SplDoublyLinkedList ) 实现栈. 代码: & ...

  2. ExtJS笔记 Using Events

    Using Events The Components and Classes of Ext JS fire a broad range of events at various points in ...

  3. 10与元素亲密接触:盒元素(the box model)

    line-height属性可以设置文本的行间距,可以用像素.em或百分比等于字体大小有关的值定义行间距line-height: 1.6em;(行间距为字体大小的1.6倍) CSS把每一个单一的元素看作 ...

  4. Django model '__week_day'与python datetime的weekday()

    上周出了个bug,按星期几查询数据的时候,发现查到的数据与显示的星期几并不相符,后来发现代码中按星期几查询,有的地方用的是Django QuerySet提供的'__week_day',有的地方用的是p ...

  5. ERROR 2006 (HY000) at line xx: MySQL server has gone away 解决方法

  6. 《Android 性能测试初探》

    移动测试站点推荐: https://testerhome.com/ 专项相关帖子推荐: <Android 性能测试初探>合集 移动无线应用专项测试浅谈 公开课: [腾讯课堂]Testerh ...

  7. ios - block数据的回调

    block在代理,kvo中传递数据效率最高 实现原理 控制器B想传递数据给控制器A.通过在B控制器中创建Block类型的类,创建方法,方法参数是刚才创建的block类型的变量.在方法实现的内部调用参数 ...

  8. 20145320 《Java程序设计》第5周学习总结

    20145320 <Java程序设计>第5周学习总结 教材学习内容总结 8.1 语法与继承架构 try.catch Java中的错误会被包装为对象,而使用try与catch,JVM会执行t ...

  9. 史上最易懂的Android jni开发资料--NDK环境搭建

    谷歌改良了ndk的开发流程,对于Windows环境下NDK的开发,如果使用的NDK是r7之前的版本,必须要安装Cygwin才能使用NDK.而在NDKr7开始,Google的Windows版的NDK提供 ...

  10. Make Blog Beautiful

    想做一个文艺而专业的编程技术博客 :) 博客定位 编程大观园,正如其名,探索和汇萃各种编程思想.技术.技能.技巧,并融入自己对编程开发.产品研发的思考和探索. 分类与标签      好的博客分类能让访 ...