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 文档的编码问题解决
Mar 01 Javascript
IE和firefox浏览器的event事件兼容性汇总
Dec 06 Javascript
js模仿hover的具体实现代码
Dec 30 Javascript
12306验证码破解思路分享
Mar 25 Javascript
纯js实现手风琴效果
Apr 17 Javascript
基于JS模仿windows文件按名称排序效果
Jun 29 Javascript
jQuery过滤选择器经典应用
Aug 18 Javascript
AngularJS实现DOM元素的显示与隐藏功能
Nov 22 Javascript
js实现的在线调色板功能完整实例
Dec 21 Javascript
React数据传递之组件内部通信的方法
Dec 31 Javascript
vue动画打包后失效问题的解决方法
Sep 18 Javascript
JavaScript链式调用实例浅析
Dec 19 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搭建聊天室功能实例代码
2012/08/20 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
php文件系统处理方法小结
2016/05/23 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
CI(CodeIgniter)框架视图中加载视图的方法
2017/03/24 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
laravel 5.3 单用户登录简单实现方法
2019/10/14 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
select组合框option的捕捉实例代码
2008/09/30 Javascript
js 输出内容到新窗口具体实现代码
2013/05/31 Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
2014/01/26 Javascript
JSON格式化输出
2014/11/10 Javascript
javascript跨域总结之window.name实现的跨域数据传输
2015/11/01 Javascript
用原生JS对AJAX做简单封装的实例代码
2016/07/13 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
2016/10/12 Javascript
javascript设置文本框光标的方法实例小结
2016/11/04 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
python实现三次样条插值
2018/12/17 Python
python实现彩色图转换成灰度图
2019/01/15 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
2020/03/02 Python
阿迪达斯印尼官方网站:adidas印尼
2020/02/10 全球购物
介绍一下linux的文件系统
2015/10/06 面试题
门卫班长岗位职责
2013/12/15 职场文书
《红军不怕远征难》教学反思
2014/04/14 职场文书
机电一体化应届生求职信
2014/08/09 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
2014党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
2015年青年志愿者工作总结
2015/05/20 职场文书
保护动物的宣传语
2015/07/13 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书
党风廉政承诺书2016
2016/03/25 职场文书
Win10加载疑难解答时出错发生意外错误的解决方法
2022/07/07 数码科技