gpt4 book ai didi

querySelector 的 javascript addEventListener 不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:47:15 24 4
gpt4 key购买 nike

嗨,这是我的 javascript 代码:

window.onload = function () {

function hideAds() {
setTimeout(hide, 2000);
}

function hide() {
var ads = document.querySelector(".ads");
ads.style.marginTop = (-ads.offsetHeight) + "px";
}

function reveal() {
ads.style.marginTop = "";
hideAds();
}
var ads = document.querySelector(".ads");
ads.addEventListener("click", reveal, true);


hideAds();

}

从这段代码中,除倒数第二行“ads.addEventListener”外,一切正常。是什么原因?我在这里做错了什么吗?

我需要通过点击广告类添加的 div 来调用我的展示功能。

有人帮帮我吗?

最佳答案

您提供的代码应该可以正常工作。 jsFiddle

但我很想像这样重构您的代码。

HTML

<div class="ads">Blah blah blah</div>

Javascript

function setMarginTop(element, marginTop) {
element.style.marginTop = marginTop || null;
}

function hideAds(element, marginTop, ms) {
setTimeout(function() {
setMarginTop(element, marginTop);
}, ms || 2000);
}

window.addEventListener('load', function () {
var ads = document.querySelector('.ads'),
hide = (-ads.offsetHeight) + 'px';

hideAds(ads, hide);
ads.addEventListener('click', function (evt) {
var target = evt.target;

setMarginTop(target)
hideAds(target, hide);
}, false);
}, false);

关于 jsFiddle

关于querySelector 的 javascript addEventListener 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4889303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com