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 相关文章推荐
js 获取中文拼音,Select自动匹配字母获取值的代码
Sep 23 Javascript
IE6下CSS图片缓存问题解决方法
Dec 09 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
Jun 27 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
Nov 27 Javascript
JQuery的attr 与 val区别
Jun 12 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
Aug 18 Javascript
node.js路径处理方法以及绝对路径详解
Mar 04 Javascript
jQuery实现广告条滚动效果
Aug 22 jQuery
对Angular中单向数据流的深入理解
Mar 31 Javascript
jQuery length 和 size()区别总结
Apr 26 jQuery
Nuxt项目支持eslint+pritter+typescript的实现
May 20 Javascript
理解JavaScript中的Proxy 与 Reflection API
Sep 21 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中 ob_start等函数截取标准输出的方法
2015/06/22 PHP
微信公众平台开发之配置与请求
2015/08/26 PHP
总结一些PHP中好用但又容易忽略的小知识
2017/06/02 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
PHP的Trait机制原理与用法分析
2019/10/18 PHP
JavaScript 模仿vbs中的 DateAdd() 函数的代码
2007/08/13 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
jQuery遍历之next()、nextAll()方法使用实例
2014/11/08 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
bootstarp modal框居中显示的实现代码
2017/02/18 Javascript
JavaScript实现256色转灰度图
2017/02/22 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
原生JS实现多个小球碰撞反弹效果示例
2018/01/31 Javascript
Angular 如何使用第三方库的方法
2018/04/18 Javascript
解决webpack dev-server不能匹配post请求的问题
2018/08/24 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
package.json中homepage属性的作用详解
2020/03/11 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
[01:00:04]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第二局
2016/02/26 DOTA
python同时给两个收件人发送邮件的方法
2015/04/30 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
2019/08/23 Python
Matlab中plot基本用法的具体使用
2020/07/17 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
来自世界上最好大学的在线课程:edX
2018/10/16 全球购物
成品仓管员工作职责
2013/12/29 职场文书
幼儿园大班新学期寄语
2014/01/18 职场文书
《学会合作》教学反思
2014/04/12 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
导游词之井冈山
2019/11/20 职场文书
php引用传递
2021/04/01 PHP
pandas取dataframe特定行列的实现方法
2021/05/24 Python
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python