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基于当前元素进行下一步的遍历
May 20 Javascript
jQuery mobile 移动web(4)
Dec 20 Javascript
JavaScript实现图片轮播组件代码示例
Nov 22 Javascript
jQuery自定义插件详解及实例代码
Dec 29 Javascript
JS实现的加减乘除四则运算计算器示例
Aug 09 Javascript
axios中cookie跨域及相关配置示例详解
Dec 20 Javascript
JS函数内部属性之arguments和this实例解析
Oct 07 Javascript
vue移动端项目缓存问题实践记录
Oct 29 Javascript
详解微信小程序之scroll-view的flex布局问题
Jan 16 Javascript
微信小程序拼接图片链接无底洞深入探究
Sep 03 Javascript
vue-cli和v-charts实现可视化图表过程解析
Oct 08 Javascript
浅谈JS for循环中使用break和continue的区别
Jul 21 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
3
2006/10/09 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
PHP 中常量的知识整理
2017/04/14 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
js实现按钮颜色渐变动画效果
2015/08/20 Javascript
html判断当前页面是否在iframe中的实例
2016/11/30 Javascript
拖动时防止选中
2017/02/03 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
javascript this指向相关问题及改变方法
2020/11/19 Javascript
Python编码时应该注意的几个情况
2013/03/04 Python
Python3.2中的字符串函数学习总结
2015/04/23 Python
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
python 如何快速找出两个电子表中数据的差异
2017/05/26 Python
Django 导出 Excel 代码的实例详解
2017/08/11 Python
PyTorch中常用的激活函数的方法示例
2019/08/20 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
Opencv python 图片生成视频的方法示例
2020/11/18 Python
解决pytorch 保存模型遇到的问题
2021/03/03 Python
英国领先的鞋类零售商和顶级品牌的官方零售商:Wynsors
2020/02/17 全球购物
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
临床医学专业毕业生的自我评价
2013/10/17 职场文书
个人自荐信
2013/12/05 职场文书
餐饮主管岗位职责
2013/12/10 职场文书
网络教育自我鉴定
2014/02/04 职场文书
小学生家长寄语
2014/04/02 职场文书
食堂标语大全
2014/06/11 职场文书
领导班子四风表现材料
2014/08/23 职场文书
微笑面对生活演讲稿
2014/09/23 职场文书
学生个人评语大全
2015/01/04 职场文书
创业计划书之冷饮店
2019/09/27 职场文书
Java Redisson多策略注解限流
2022/09/23 Java/Android