js和jQuery设置Opacity半透明 兼容IE6


Posted in Javascript onMay 24, 2016

1.css设置透明度

透明度在IE浏览器和其他相关浏览器中的设置方法是不一样的,IE使用滤镜filter的alpha属性,firefox和其它浏览器不支持滤镜,它们使用opactiy属性设置透明度,下面示例设置透明度为30%:

IE:filter: alpha(opacity:30);
firefox:opacity(0.3);

2.使用js设置透明度

为了兼容IE与其他浏览器对透明度的设置,我们需要对以上两种样式分别进行设置。下面是一段示例代码:

var alpha = 30; //透明度值变量

var oDiv = document.getElementById('div1'); //获取DOM元素对象

oDiv.style.filter = 'alpha(opacity:'+alpha+')'; //设置IE的透明度

oDiv.style.opacity = alpha / 100; //设置fierfox等透明度,注意透明度值是小数

3.jQuery设置透明度

jQuery中对透明度的设置进行了整合,兼容IE和其他浏览器,修改opactiy属性值即可,值为小数,因此只需要设置一次即可。下面是一段示例代码:

$(function(){

  $("#div1").css("opacity","0.3"); //设置透明度

});

由此可见,使用jQuery进行透明度设置,大大减少了代码编写的难度,同时可以很好地保证不同浏览器的兼容性,但是使用jQuery需要导入jQuery的库文件,在某些场合会给站点的访问速度造成影响,如果要求不是太高,我们也可以直接使用js实现我们需要的效果,下面给出一段使用js实现半透明效果的完整示例代码。

4.应用实例

该实例使用原生js实现一个div的淡入淡出效果;鼠标移入div区域,透明度为100%,鼠标移出div区域透明度为30%,同时用时间控制透明度转换效果;

window.onload=function()

{

   var oDiv = document.getElementById('div1');//获取div的DOM对象

   oDiv.onmouseover = function() //鼠标移入方法

   {

      startMove(100);

   };

   oDiv.onmouseout = function() //鼠标移出方法

   {

      startMove(30);

   };

}

var timer = null;//时间对象

var alpha = 30;//透明度初始值

function startMove(iTarget)

{

   var oDiv = document.getElementById('div1');

   clearInterval(timer);//清空时间对象

   timer = setInterval(function(){

      var speed = 0;

      if(alpha < iTarget){

         speed =5;

      }else{

         speed = -5;

      }

      if(alpha == iTarget){

         clearInterval(timer);

      }else{

         alpha +=speed; //透明度值增加效果

         oDiv.style.filter = 'alpha(opacity:'+alpha+')'; //设置IE透明度

         oDiv.style.opacity = alpha / 100; //设置其他浏览器

      }

   },30);

}

window的onload函数指定了在页面加载的时候需要执行的方法,document.getElementById实现通过元素的id得到元素对象,然后通过得到对象的onmouseover绑定了鼠标移到指定层上面时对应需要执行的函数,该实例执行startMove(100),鼠标移出层通过onmouseout绑定对应的执行函数,该实例执行startMove(30)。

startMove函数实现的功能是将指定元素的透明度设置为传入参数iTarget,范围需要在0-255之间,并使用setInterval启动了一个定时器实现动画效果。

总结:说到底就两个属性,一个是这对火狐,谷歌这类浏览器的属性opacity(0.3)直接设置一个小数即可,另一个针对IE的属性filter: alpha(opacity:30),都设置好即可,另外jQuery大大简化了相应的操作,如果网站上用到了jQuery的库,还是很推荐使用jQuery的方法的。

Javascript 相关文章推荐
突发奇想的一个jquery插件
Nov 19 Javascript
Jquery插件编写简明教程
Mar 25 Javascript
javacript使用break内层跳出外层循环分析
Jan 12 Javascript
javascript日期处理函数,性能优化批处理
Sep 06 Javascript
浅析JS异步加载进度条
May 05 Javascript
Node.js 数据加密传输浅析
Nov 16 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
Jan 05 Javascript
js仿百度音乐全选操作
Jan 13 Javascript
微信小程序 两种为对象属性赋值的方式详解
Feb 23 Javascript
jQuery完成表单验证的实例代码(纯代码)
Sep 30 jQuery
解决$store.getters调用不执行的问题
Nov 08 Javascript
使用Bootstrap做一个朝代历史表
Dec 10 Javascript
浅析jquery unbind()方法移除元素绑定的事件
May 24 #Javascript
jQuery unbind 删除绑定事件详解
May 24 #Javascript
深入理解jQuery之防止冒泡事件
May 24 #Javascript
30分钟快速掌握Bootstrap框架
May 24 #Javascript
JQuery 传送中文乱码问题的简单解决办法
May 24 #Javascript
深入理解jQuery中的事件冒泡
May 24 #Javascript
jQuery 弹出层插件(推荐)
May 24 #Javascript
You might like
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
php function用法如何递归及return和echo区别
2014/03/07 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
PHP大文件切割上传功能实例分析
2019/07/01 PHP
JavaScript中字符串与Unicode编码互相转换的实现方法
2015/12/18 Javascript
js编写当天简单日历效果【实现代码】
2016/05/03 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
2016/11/07 Javascript
Angularjs 动态添加指令并绑定事件的方法
2017/04/13 Javascript
兼容浏览器的js事件绑定函数(详解)
2017/05/09 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
利用python获得时间的实例说明
2013/03/25 Python
Python创建模块及模块导入的方法
2015/05/27 Python
python万年历实现代码 含运行结果
2017/05/20 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
Python3实现的回文数判断及罗马数字转整数算法示例
2019/03/27 Python
Python实现字符型图片验证码识别完整过程详解
2019/05/10 Python
Python 3.8新特征之asyncio REPL
2019/05/28 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
基于Python组装jmx并调用JMeter实现压力测试
2020/11/03 Python
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
如何实现一个自定义类的序列化
2012/05/22 面试题
人事专员岗位职责
2013/11/20 职场文书
财务会计应届生求职信
2013/11/24 职场文书
详细的大学生创业计划书模板
2014/01/27 职场文书
汽车队司机先进事迹材料
2014/02/01 职场文书
建议书标准格式
2014/03/12 职场文书
2014公安机关纪律作风整顿思想汇报
2014/09/13 职场文书
2014红色之旅心得体会
2014/10/07 职场文书
二年级学生期末评语
2014/12/26 职场文书
中秋晚会致辞
2015/07/31 职场文书
怎么用Python识别手势数字
2021/06/07 Python