【发布时间】:2015-11-21 11:59:15
【问题描述】:
就像 javascript 不尊重 css 中的样式定义,只尊重 javascript 本身在 css 中所做的更改:
<body onload="fader()">
<img id="ssio" src="../images/slideshow/1.jpg" alt="slideshow" style="width:100%;height:80%;" />
<img id="ssie" src="../images/slideshow/2.jpg" alt="slideshow" style="width:100%;height:80%;" />
<!--css work-->
<style>
img#ssio{
transition:opacity 1s;
position:absolute;
opacity:1;
margin:0;
padding:0;
}
img#ssie{
transition:opacity 1s;
opacity:0;
margin:0;
padding:0;
}
</style>
<!--js work-->
<script>
function fader() {
console.log(document.getElementById("ssio").style.opacity, document.getElementById("ssie").style.opacity, ",", ssion, ssien)
document.getElementById("ssio").style.opacity = document.getElementById("ssie").style.opacity;
document.getElementById("ssie").style.opacity = 1 - document.getElementById("ssio").style.opacity;
setTimeout(fader, 4000);
}
</script>
</body>
为什么没有按预期工作? 为什么控制台和js将css中定义的不透明度视为null? 我该如何解决?
【问题讨论】:
-
在你身上?
-
在我的真实代码中它在外部样式表中,我的 js 也是。
-
@jay 你能解释更多吗?
-
这只是猜测您可能会得到空值的原因。尝试将
.getPropertyValue()添加到选择器的末尾。 -
您在主体
onload上有多个setTimeout函数,这会将页面加载时间增加20 秒。
标签: javascript html css console