sh_ero
2016-08-18 14:09
#div1 {
width:200px;
height:200px;
background:red;
filter:alpha(opacity:30);
opacity:0.3;
}
</style>
<script type="text/javascript">
window.onload = function(){
var oDiv = document.getElementById('div1');
oDiv.onmouseover = function(){
startMove(30);
}
oDiv.onmouseout = function(){
startMove(100);
}
}
var timer = null;
var alpha = 30;
function startMove(iTarget){
var oDiv = document.getElementById('div1');
clearInterval(timer);
timer = setInterval(function(){
var speed;
if(alpha > iTarget){
speed = -10;
}
else{
speed = 10;
}
if(alpha == iTarget){
clearInterval(timer);
}
else{
alpha+=speed;
oDiv.style.filter = 'alpha(opacity:'+alpha+')';
oDIvc.style.opacity = alpha/100;
}
},30)
}
</script>
</head>
<body>
<div id="div1">透明度/div>
在火狐浏览器上出不来效果,透明度没变化
只要不是立即执行的代码,放在哪无所谓,而且你用的是onload事件,本身就是页面加载完才执行。如果在别的浏览器中可以实现,而在火狐中不行时,可以试试加上前缀-moz-opacity。ps:火狐以前很强大,现在让人觉得很垃圾,还是谷歌的chrome标准支持的好。
改了以后还是没有变化,,
放在head里面但是前面有window.load也不行吗
onmouseover里的startMove(30)是100吧,你定义的alpha就是30,放上去还是30,怎么会有变化,
js代码写在body里面啊,浏览器是先加载<head>里面的东西,你写在上面怎么找得到标签的id
JS动画效果
113925 学习 · 1443 问题
相似问题