我是一名初學者,我試圖重寫在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