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 简短右键菜单 多浏览器兼容
Jan 01 Javascript
javascript函数作用域学习示例(js作用域)
Jan 13 Javascript
浅谈javascript回调函数
Dec 07 Javascript
jQuery实现为图片添加镜头放大效果的方法
Jun 25 Javascript
jquery实现点击展开列表同时隐藏其他列表
Aug 10 Javascript
jquery中ajax跨域方法实例分析
Dec 18 Javascript
JavaScript继承学习笔记【新手必看】
May 10 Javascript
JSON对象转化为字符串详解
Aug 11 Javascript
three.js中3D视野的缩放实现代码
Nov 16 Javascript
vue-cli3搭建项目的详细步骤
Dec 05 Javascript
ES6箭头函数和扩展实例分析
May 23 Javascript
JS实现拖拽元素时与另一元素碰撞检测
Aug 27 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实现小型站点广告管理(修正版)
2006/10/09 PHP
PHP 手机归属地查询 api
2010/02/08 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
jQuery操作DOM之获取表单控件的值
2015/01/23 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
javascript如何创建对象
2016/08/29 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
Vue源码解析之数据响应系统的使用
2019/04/24 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
2019/11/09 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
Python实现partial改变方法默认参数
2014/08/18 Python
Django静态资源URL STATIC_ROOT的配置方法
2014/11/08 Python
详解在Python程序中自定义异常的方法
2015/10/16 Python
Django中反向生成models.py的实例讲解
2018/05/30 Python
python url 参数修改方法
2018/12/26 Python
python write无法写入文件的解决方法
2019/01/23 Python
Python-openCV开运算实例
2020/07/05 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
解决img标签上下出现间隙的方法
2016/12/14 HTML / CSS
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
大学毕业感言200字
2014/03/09 职场文书
党员一句话承诺大全
2014/03/28 职场文书
建材投资建议书
2014/05/16 职场文书
员工2014年度工作总结
2014/12/09 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
蔬果开业典礼发言稿应该怎么写?
2019/09/03 职场文书
numpy数据类型dtype转换实现
2021/04/24 Python
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
2021/05/10 HTML / CSS
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
Python还能这么玩之用Python修改了班花的开机密码
2021/06/04 Python
解决vue中provide inject的响应式监听
2022/04/19 Vue.js