【问题标题】:Run multiple settimeout or showit functions on different page elements在不同的页面元素上运行多个 settimeout 或 showit 函数
【发布时间】:2013-09-25 03:18:10
【问题描述】:

注意:我不是开发人员。更像是一个业余爱好者(阅读 n00b)。 我已经尝试寻找这个问题的答案,但到目前为止还没有找到任何可以为这个特定场景提供答案的东西。

我知道这是相对基本的,但我正在尝试创建一个包含三个隐藏元素的页面,这些元素在时间延迟或鼠标单击后会显示出来。我正在努力让所有三个元素在同一页面上运行。

必填:
元素 1:页面加载后 10 秒显示隐藏图像
元素 2:页面加载后 10 分钟显示隐藏的 div
元素 3:按钮图像在元素 2 内,点击时会显示另一个隐藏的 div

我正在使用以下 setTimeout 函数来显示元素 1,但在此之后我无法运行第二个 setTimeout 命令。

<script language="javascript" type="text/javascript">
var pop=10;
function showIt() {
document.getElementById("hid").style.display = "block";
}
setTimeout(showIt, 10000);
</script>

我尝试为将元素 ID 更改为“hid2”的第二个元素重复此代码,但它不会运行。是否需要使用 cleartimeout 函数来结束第一个 settimeout?

然后我需要一些元素 3 的代码,以便在元素 2 之后通过鼠标单击运行。

让所有 JS 的三个部分完美地结合在一起似乎超出了我的能力范围。 非常感谢您的帮助!

【问题讨论】:

    标签: javascript jquery html settimeout


    【解决方案1】:

    我相信这就是您的要求。

    <img id="hid" src="img/darkred.jpg" style="width: 20px; display: none;"/>
    <div id="hid2" style="display: none;">div 2
        <input type="button" value="show div3"/>
    </div>
    <div id="hid3" style="display: none;">div 3</div>
    
    
    function showIt(hid) {
        document.getElementById(hid).style.display = "block";
    }
    
    function revealEl(id, delay){
        setTimeout(function(){
            showIt(id);
        }, delay);
    }
    
    revealEl("hid", 4000);
    revealEl("hid2", 6000);
    
    $("#hid2 input"").on("click", function(){
        showIt("hid3");
    });
    

    【讨论】:

    • 谢谢@jEremyB $("#hid2 input"") 应该是 $("#hid2 input") 吗?在 jsFiddle 中进行测试,单击按钮时我无法显示 div 3 @ 987654321@. 有什么想法吗?
    • 该选择器可能需要更改以匹配您的 html。尝试为要用于显示 div 3 的按钮添加 id。例如,id="showDiv3",然后将选择器更改为 $("#showDiv3")。独立测试选择器以确保它与预期目标匹配。
    • 再次感谢。我尝试按照您的建议进行操作,但无法正常工作。您能否检查我的代码并可能对其进行调整以使其运行? jsfiddle.net/n26qN/1 对不起我的 n00b-ness。
    • 看起来 jQuery 没有加载。将此添加到页面
    • 谢谢@jEremyB。我将脚本行添加到我的 html 的顶部,但恐怕它没有任何区别。我现在有两个版本的代码,手动添加了 jQuery。 1.原始版本-jsfiddle.net/n26qN/2。 2. 带有更新选择器的版本 - jsfiddle.net/n26qN/3。不幸的是,似乎两者都没有显示 div 3 onclick。对不起,我可以请你再看一眼吗?在这一点上,我只是在努力并希望。
    猜你喜欢
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 2023-03-17
    • 2023-03-11
    • 2015-12-29
    • 2016-01-02
    • 2019-05-17
    相关资源
    最近更新 更多