js实现透明度渐变效果的方法


Posted in Javascript onApril 10, 2015

本文实例讲述了js实现透明度渐变效果的方法。分享给大家供大家参考。具体分析如下:

这里可实现一开始元素的透明度是30,鼠标移上的时候,透明度慢慢增加,到透明度100停止。鼠标移出,透明度慢慢减少,减少到30的效果。

要点一:因为无法直接获取和改变透明度的值,可以把透明度值赋给一个变量,让变量变化,最后把变量的值再赋给元素的透明值。

var alpha=30;

要点二:判断目标值和目前透明值,来判定是正向速度还是负向速度。

if(target > alpha){
speed = 2;
}else{
speed = -2;
}

要点三:如果透明值达到目标值,关掉定时器,否则透明值继续变化。最后把值赋给元素,因为透明度有兼容问题,所以要写上两个写法。

if(alpha == target){
clearInterval(timer);
}
else{
alpha = alpha + speed;
run.style.filter = 'alpha(opacity='+alpha+')';
run.style.opacity = alpha/100;
document.title = alpha;
}

最后,上代码:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>无标题文档</title>
<style>
body{margin:0; padding:0;}
#run{width:100px; height:100px; background:#06c;
position:absolute; border:1px solid #000;
opacity:0.3; filter:alpha(opacity=30);}
</style>
<script>
window.onload = function(){
 var run = document.getElementById("run");
 var btn = document.getElementById("btn");
 var speed = 1;
 var timer = null;
 var alpha=30;
 run.onmouseover = function(){
  startrun(100);
 }
 run.onmouseout = function(){
  startrun(30);
 }
 function startrun(target){
  clearInterval(timer);
  timer = setInterval(function(){
   if(target > alpha){
    speed = 2;
   }else{
    speed = -2;
   }
   if(alpha == target){
    clearInterval(timer);
   }
   else{
    alpha = alpha + speed;
    run.style.filter = 'alpha(opacity='+alpha+')';
    run.style.opacity = alpha/100;
    document.title = alpha;
   }
  },30)
 }
}
</script>
</head>
<body>
<div id="run"></div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript 禁用IE工具栏,导航栏等等实现代码
Apr 01 Javascript
JS Replace 全部替换字符的用法小结
Dec 24 Javascript
jquery实现非叠加式的搜索框提示效果
Jan 07 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
Jul 28 Javascript
12种JavaScript常用的MVC框架比较分析
Nov 16 Javascript
js返回顶部实例分享
Dec 21 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
Feb 16 Javascript
jQuery实现的页面详情展开收起功能示例
Jun 11 jQuery
Vue中错误图片的处理的实现代码
Nov 07 Javascript
jquery ajax 请求小技巧实例分析
Nov 11 jQuery
jQuery实现轮播图效果
Nov 26 jQuery
原生js实现ajax请求和JSONP跨域请求操作示例
Mar 14 Javascript
js实现同一页面多个运动效果的方法
Apr 10 #Javascript
js实现同一个页面多个渐变效果的方法
Apr 10 #Javascript
js实现缓冲运动效果的方法
Apr 10 #Javascript
js实现分享到随页面滚动而滑动效果的方法
Apr 10 #Javascript
js实现同一页面多个不同运动效果的方法
Apr 10 #Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 #Javascript
js实现类似新浪微博首页内容渐显效果的方法
Apr 10 #Javascript
You might like
php 生成随机验证码图片代码
2010/02/08 PHP
destoon复制新模块的方法
2014/06/21 PHP
PHP对象相互引用的内存溢出实例分析
2014/08/28 PHP
php保存二进制原始数据为图片的程序代码
2014/10/14 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
无需数据库在线投票调查php代码
2016/07/20 PHP
Javascript学习笔记之数组的遍历和 length 属性
2014/11/23 Javascript
JavaScript实现获得所有兄弟节点的方法
2015/07/23 Javascript
ES6正则表达式扩展笔记
2017/07/25 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
antd-mobile ListView长列表的数据更新遇到的坑
2020/04/08 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
详解JavaScript 事件流
2020/09/02 Javascript
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python3库numpy数组属性的查看方法
2018/04/17 Python
基于python指定包的安装路径方法
2018/10/27 Python
python pygame模块编写飞机大战
2018/11/20 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
python--shutil移动文件到另一个路径的操作
2020/07/13 Python
HTML5 3D书本翻页动画的实现示例
2019/08/28 HTML / CSS
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
德国机车企业:FC-Moto
2017/10/27 全球购物
小学家长会邀请函
2014/01/23 职场文书
大一新生学期自我评价
2014/04/09 职场文书
推广普通话标语
2014/06/27 职场文书
四风问题专项整治工作情况报告
2014/10/28 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
公证处委托书
2015/01/28 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
丽江古城导游词
2015/02/03 职场文书
同意转租证明
2015/06/24 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
《女娲补天》读后感5篇
2019/12/31 职场文书
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
Python 中的Sympy详细使用
2021/08/07 Python