1

我有个问题。我复制了与页面上完全相同的代码,并且在此处的 jsfiddle 上运行良好。当我将它粘贴到 html/css/js 时,此代码不起作用。发生这种情况有什么原因吗?代码有什么问题?我敢肯定这很简单,但我就是想不通。非常感谢您提前提供的帮助。顺便说一句:如果您需要,这是一个源代码。需要等待 4 秒钟,因为它会滑下来。X 按钮应该隐藏整个 div,但事实并非如此。这就是问题所在。

代码在这里:

     <div id="wrapper">
        <div id="cookies">
            <p>Leed City Wifi uses cookies. By continuing to browse the site you are agreeing to use our cookies: </p>
            <a href="terms-cookies.html">Find out more</a>
            <a href="#" id="close" > <img src="http://content.captive-portal.com/cookies/_images/close.png"/></a>
        </div>        
</div> 

和这里的jQuery:

$(document).ready(function(){
$('#wrapper').hide();
function delay() {
    $('#wrapper').slideDown(500);
}
setTimeout(delay, 500);
});

$(document).ready(function(){
$('#cookies').hide();
function delay() {
    $('#cookies').slideDown(200);
}
setTimeout(delay, 4000);
});


$("#close").click(function() {
 $("#cookies").slideUp(function() {
     window.location.href = "#";
     });
 });

jsfiddle在这里。提前感谢您的时间

4

2 回答 2

3

将您的 delay.js 文件更改为此...

$(document).ready(function(){
    $('#wrapper').hide();
    $('#cookies').hide();

    setTimeout(function() {
        $('#wrapper').slideDown(500);
    }, 500);

    setTimeout(function() {
        $('#cookies').slideDown(200);
    }, 4000);

    $("#close").click(function() {
        $("#cookies").slideUp(function() {
            window.location.href = "#";
        });
    });
});

我把它放在一个document.ready块中,而不是多个块中,将函数直接放入超时调用中,并使用关闭单击处理程序修复了语法错误(您缺少一些右括号)。

此外,需要在 期间分配关闭单击处理程序document.ready,而以前不是这样。这就是它在 jsFiddle 上工作的原因,因为它默认使用 onLoad。

于 2013-01-16T11:35:57.197 回答
1

尝试这个:

$(document).ready( function(){
    $('#wrapper').hide();

    function delay1() {
        $('#wrapper').slideDown(500);
    }

    setTimeout(delay1, 500);

    $('#cookies').hide();

    function delay2() {
        $('#cookies').slideDown(200);
    }

    setTimeout(delay2, 4000);

    $("#close").click(function() {
        $("#cookies").slideUp(function() {
            window.location.href = "#";
        });
    });
});
于 2013-01-16T11:40:55.460 回答