我有问题。我已经复制了与我在页面上完全相同的代码,并且在jsfiddle here上工作正常。当我将其粘贴到html / css / js时,此代码不起作用。有什么理由发生吗?代码有什么问题? 我确信这很简单,但我无法理解。非常感谢您的帮助。 顺便说一句:如果你需要的话,这里是source code。需要等待4秒,因为它会向下滑动。 X按钮应该隐藏wholde 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 here。 感谢您提前的时间
答案 0 :(得分: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。
答案 1 :(得分: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 = "#";
});
});
});