js实现同一个页面多个渐变效果的方法


Posted in Javascript onApril 10, 2015

本文实例讲述了js实现同一个页面多个渐变效果的方法。分享给大家供大家参考。具体分析如下:

这里可实现5个元素中随便一个,鼠标移上去透明度渐渐增加,鼠标移出,透明度渐渐减小的效果。

要点一:

var speed = 0;
if(target>obj.alpha){
speed = 5;
}else{
speed = -5;
}

根据目标值和当时值的对比,来决定是正向还是负向速度。

要点二:

for(i=0; i<runs_li.length; i++){
runs_li[i].timer = null;
runs_li[i].alpha = 30;
runs_li[i].onmouseover = function(){
startrun(this,100);
}
runs_li[i].onmouseout = function(){
startrun(this,30);
}
}

给每一个元素加上各自的透明度值,各自的透明度变化分开。

最后,上代码:

<!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,ul,li{margin:0; padding:0;}
#runs{width:300px; margin:10px auto;}
#runs li{width:80px; height:80px; background:#06c; list-style:none;
float:left; margin:10px; display:inline;
filter:alpha(opacity=30); opacity:0.3;}
</style>
<script>
window.onload = function(){
 var runs = document.getElementById("runs");
 var runs_li = runs.getElementsByTagName("li");
 var i=0; 
 for(i=0; i<runs_li.length; i++){
 runs_li[i].timer = null;
 runs_li[i].alpha = 30;
 runs_li[i].onmouseover = function(){
  startrun(this,100);
 }
 runs_li[i].onmouseout = function(){
  startrun(this,30);
 }
 }
}
function startrun(obj,target){
 clearInterval(obj.timer);
 obj.timer = setInterval(function(){
 var speed = 0;
 if(target>obj.alpha){
  speed = 5;
 }else{
  speed = -5;
 }
 
 if(obj.alpha == target){
  clearInterval(obj.timer);
 }else{
  obj.alpha = obj.alpha + speed;
  obj.style.filter = "alpha(opacity="+obj.alpha+")";
  obj.style.opacity = obj.alpha/100;
 }
 
 },30)
}
</script>
</head>
<body>
<ul id="runs">
 <li>1</li>
 <li>2</li>
 <li>3</li>
 <li>4</li>
 <li>5</li>
</ul>
</body>
</html>

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

Javascript 相关文章推荐
JavaScript实现x秒后自动跳转到一个页面
Jan 03 Javascript
jquery对table中各数据的增加、保存、删除操作示例
May 14 Javascript
原生js实现fadein 和 fadeout淡入淡出效果
Jun 05 Javascript
javascript刷新父页面的各种方法汇总
Sep 03 Javascript
javascript的理解及经典案例分析
May 20 Javascript
JavaScript事件学习小结(一)事件流
Jun 09 Javascript
JS判断一个数是否是水仙花数
Jun 11 Javascript
浅谈Angular 中何时取消订阅
Nov 22 Javascript
vue将毫秒数转化为正常日期格式的实例
Sep 16 Javascript
vue动态绘制四分之三圆环图效果
Sep 03 Javascript
JS实现简单tab选项卡切换
Oct 25 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
Feb 07 Javascript
js实现缓冲运动效果的方法
Apr 10 #Javascript
js实现分享到随页面滚动而滑动效果的方法
Apr 10 #Javascript
js实现同一页面多个不同运动效果的方法
Apr 10 #Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 #Javascript
js实现类似新浪微博首页内容渐显效果的方法
Apr 10 #Javascript
javascript中关于&amp;&amp; 和 || 表达式的小技巧分享
Apr 10 #Javascript
js简单的点击返回顶部效果实现方法
Apr 10 #Javascript
You might like
用PHP写的MySQL数据库用户认证系统代码
2007/03/22 PHP
非常精妙的PHP递归调用与静态变量使用
2012/12/16 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
解决laravel5.4下的group by报错的问题
2019/10/16 PHP
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
JS面向对象编程之对象使用分析
2010/08/19 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
js对图片base64编码字符串进行解码并输出图像示例
2014/03/17 Javascript
AngularJS中取消对HTML片段转义的方法例子
2015/01/04 Javascript
js实现带缓冲效果的仿QQ面板折叠菜单代码
2015/09/06 Javascript
使用selenium抓取淘宝的商品信息实例
2018/02/06 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
vscode中Vue别名路径提示的实现
2020/07/31 Javascript
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
Python实现简单的语音识别系统
2017/12/13 Python
自学python的建议和周期预算
2019/01/30 Python
详解基于python-django框架的支付宝支付案例
2019/09/23 Python
基于Python批量生成指定尺寸缩略图代码实例
2019/11/20 Python
python实现简单井字棋游戏
2020/03/04 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
AmazeUI中模态框的实现
2020/08/19 HTML / CSS
什么是接口(Interface)?
2013/02/01 面试题
大四学生毕业自荐信
2013/11/07 职场文书
计算机专业毕业生推荐信
2013/11/25 职场文书
高校教师岗位职责
2014/03/18 职场文书
访谈节目策划方案
2014/05/15 职场文书
2014年民政局关于保密工作整改措施
2014/09/19 职场文书
群众路线剖析材料怎么写
2014/10/09 职场文书
北大自主招生自荐信
2015/03/04 职场文书
面试通知邮件
2015/04/20 职场文书
学生会副主席竞选稿
2015/11/19 职场文书
用python实现监控视频人数统计
2021/05/21 Python
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis