我是一名初学者,我试图重写在CSS中的:hover
伪类不让我触发事件,如果我徘徊在其他元素下面的元素。JavaScript循环不起作用
如果我将鼠标悬停在div上,则css过渡将会启动,但是,如果我查看div上方视觉上的文本,则不会发生任何情况。
我有四个这样的元素,所以我试图用getElementsByClassName方法来创建JavaScript来迭代数组,但控制台给我总是
index.html:77 Uncaught TypeError: Cannot read property 'style' of
undefined
at stretchback (index.html:77)
at HTMLParagraphElement.onmouseout (index.html:24)
stretchback @ index.html:77
onmouseout @ index.html:24
<script>
var boxes = document.getElementsByClassName('skill-box');
function stretch() {
for (var i=0; i < boxes.length; i++)
boxes[i].style.opacity = "0.3";
boxes[i].style.transform = "scaleY(10)";
boxes[i].style.borderRadius = "0px";
boxes[i].style.transition = "opacity 2s, transform 2s, border-radius 1s ease-in-out";
}
function stretchback() {
for (var i=0; i < boxes.length; i++)
boxes[i].style.opacity = "1";
boxes[i].style.transform = "scaleY(1)";
boxes[i].style.borderRadius = "10px";
boxes[i].style.transition = "opacity 2s, transform 2s, border-radius 1s ease-in-out"; }
</script>
什么我做错了同样的错误?
可以CONSOLE.LOG(盒)? – Akhil
仅供参考:'我
epascarello
快速浏览一下,我实际上可以在这里看到一些错误。对于初学者来说,你重新声明相同的变量并覆盖它们的值,所以你的变量可能没有你认为的那些。你也在迭代一个动态获取的元素集,而不是遍历你正在使用的数组('box',这应该是复数)。所以如果任何东西改变了DOM的状态,那么这些长度可能并不总是相等的。 – David