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 相关文章推荐
JQUERY dialog的用法详细解析
Dec 19 Javascript
JSON.parse()和JSON.stringify()使用介绍
Jun 20 Javascript
jQuery中ajax的get()方法用法实例
Dec 26 Javascript
jquery常用的12个小功能
Jul 22 Javascript
AngularJS 路由详解和简单实例
Jul 28 Javascript
浅谈js数据类型判断与数组判断
Aug 29 Javascript
JQuery手速测试小游戏实现思路详解
Sep 20 Javascript
JavaScript中的编码和解码函数
Feb 15 Javascript
基于Vue实现电商SKU组合算法问题
May 29 Javascript
es6数组的flat(),flatMap()函数用法实例分析
Apr 18 Javascript
vue中三级导航的菜单权限控制
Mar 31 Vue.js
JavaScript实现优先级队列
Dec 06 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
我的论坛源代码(一)
2006/10/09 PHP
php pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
PHP实现QQ登录实例代码
2016/01/14 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
php实现文章置顶功能的方法
2016/10/20 PHP
php表单处理操作
2017/11/16 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
jQuery 使用手册(三)
2009/09/23 Javascript
jQuery $.get 的妙用 访问本地文本文件
2012/07/12 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
浅析Node在构建超媒体API中的作用
2014/07/30 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
2015/04/13 Javascript
bootstrap datetimepicker日期插件使用方法
2017/01/13 Javascript
js实现5秒倒计时重新发送短信功能
2017/02/05 Javascript
canvas实现钟表效果
2017/02/13 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
JavaScript生成指定范围的时间列表
2018/03/19 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
vue element和nuxt的使用技巧分享
2021/01/14 Vue.js
详解Python如何获取列表(List)的中位数
2016/08/12 Python
python获取外网IP并发邮件的实现方法
2017/10/01 Python
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
使用css3匹配手机屏幕横竖状态
2014/01/27 HTML / CSS
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
Currentbody美国/加拿大:美容仪专家
2020/03/09 全球购物
厨师长岗位职责
2014/03/02 职场文书
2014年教师党员自我评价范文
2014/09/22 职场文书
运动会闭幕词
2015/01/28 职场文书
春风化雨观后感
2015/06/11 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书
Python基础详解之描述符
2021/04/28 Python
教你使用pyinstaller打包Python教程
2021/05/27 Python
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript