希望你可以提供帮助... jQuery& javascript,但试图有一个加载封面页,所以所有的内容都立即显示,但它卡住了,不会超过加载页面,但在jsfiddle它将超过加载页面,这是没有意义的。
这里是小提琴 - http://jsfiddle.net/adeneo/Egtwx/1/
这是我的代码(相同......
<div id="cover">LOADING</div>
<script>
$(window).on('load', function() {
$("#cover").fadeOut(1000);
});
//jsFiddle does not fire the window onload properly, substituted with fake load
function newW() {
$(window).load();
}
setTimeout(newW, 100);
</script>
这里是我脚本标签中的所有代码,也许这是冲突并导致它无法工作..?
<script>
$(window).ready(function() {
$("#cover").fadeOut(2000);
});
//jsFiddle does not fire the window onload properly, substituted with fake load
function newW() {
$(window).load();
}
setTimeout(newW, 100);
$(document).ready(function() {
//Check to see if the window is top if not then display button
$(window).scroll(function() {
if ($(this).scrollTop() > 100) {
$('.scrollToTop').fadeIn();
} else {
$('.scrollToTop').fadeOut();
}
});
//Click event to scroll to top
$('.scrollToTop').click(function() {
$('html, body').animate({
scrollTop: 0
}, 800);
return false;
});
});
</script>
答案 0 :(得分:1)
在Chrome中,您必须更改设置以允许设置本地数据。
要更改此设置,请转到Settings > Privacy > Content
设置,然后将cookies
设置更改为“允许设置本地数据”。
这将解决您的浏览器的问题,但不能解决用户浏览器的问题。相反,您需要使用$(document)
而不是$(window)
,因为$(document)
不受安全设置的影响。
“加载”事件实际上是“就绪”事件,因此如果您更改它,它就会起作用。
$(window).on("ready", function() {
$("#cover").fadeOut(2000);
});
我通常使用这种形式,因为它更“现代”的jQuery风格:
$(window).ready(function() {
$("#cover").fadeOut(2000);
});
答案 1 :(得分:1)
你的小提琴将你的代码包裹在onload
中,通过小提琴下拉,这是你setTimeout
被执行的时候..
您应该可以将此用于onload事件:
注意我创建了一个自定义事件,以明确发生的事情。
$(window).on('myload', function() {
$("#cover").fadeOut(200);
});
function newW() {
setTimeout(function() {
$(window).trigger('myload');
}, 1000);
}
window.onload = newW;
请注意,您发布的两个代码段略有不同。