Js改变元素透明度函数,关于变量的作用域问题?
写了一个变换透明度的函数,但是作用域有问题,甚至很奇怪。。。
代码:
Document*{
margin: 0px;
padding: 0px;
}
#box{
width: 800px;
height: 800px;
background-color: #1AE2F6;
}
var box=document.getElementById("box");
box.style.opacity=0.1;
box.οnmοuseοver=function(){
changeopto(1);
}
box.οnmοuseοut=function(){
changeopto(0.1);
}
var timer=null;
//var alpha=box.style.opacity;//在这里获取也不行
var alpha=0.1;//只有定义一个值才能完成动画
function changeopto(newOp){
var box=document.getElementById("box");
// alpha=box.style.opacity;//想得到box原来的opacity,不行
clearInterval(timer);
timer=setInterval(function(){
var cgspeed=0;//每个时间单位变换的值
if (newOp
cgspeed=-0.01;
alpha+=cgspeed;
box.style.opacity=alpha;
}
if (newOp>alpha){
cgspeed=0.01;
alpha+=cgspeed;
box.style.opacity=alpha;
}
if (newOp==alpha){
clearInterval(timer);
}
},10);
}
为什么在我这个函数里,只有在外部定义一个值才有效?而且在外部用box.style.opacity(和想赋的值相同)赋值都不行,只能用一个数值;在函数内部用 box.style.opacity 赋值也不应该没有效果啊??
相关阅读:
这里的sql语句该怎么写
angularjs 点击li如何添加/移除当前li class类名?
UICollectionView 展示指定 Item 无效?
js-为什么这么写就读不到function?
React-Redux shallowEqual方法是不是错了?
Vue2.0 的官网脚手架能否改成可以开发多个项目的?
js构造函数
Laravel Passport在前后端分离项目中的使用问题
双层控制器嵌套,ms-for会出错
PHP实现标签匹配数据并将数据按标签匹配的权重排序
N-blog 中 config-lite 找不到 default , 检查了文件和搜索路径都没问题
为什么block 里面使用self,instruments leaks 没有检测出内存泄漏?需要用什么方法才能检测出
非nodejs环境下的包管理工具
在javascript中,不同的设计模式到底应对什么场景?
?pyspider 项目状态变成 Pause
HBuilder右键编译less文件失败怎么办?
为什么没给父级元素加边框,子级的外边距就超出父级范围了
laravel , ajax 使用post方式传输,后台获取登陆用户id时报错500,使用get方式正常.
为什么0 == null 返会的是false?
请教一个ajax跨域的问题,求大神帮帮我