页面加载时隐藏div?
所以我有一个有趣的div,我的客户有点担心,但我想帮助他们。
有没有办法用jQuery隐藏div一段时间? 可能只是不透明度:页面加载时为0,然后是2秒,将其更改为不透明度:1。
另一种方法是添加/删除类方法。 我只是不确定在页面加载时将代码放在一个状态的代码是什么,然后无限期地在另一个状态(除非页面当然刷新)所以类似于
jQuery('#DIV').WHILELOADING(function() { jQuery('#DIV').addClass('hidden_div') }); jQuery('#DIV').AFTER_2_SECONDS(function() { jQuery('#DIV').removeClass('hidden_div') });
我不是’完全’确定如何做到这一点。 同样,我知道怎么做的“加载屏幕”是不可能的,哈哈。 :P
如何加载div,如果它是页面加载,那么只需在页面加载时隐藏div并在里面显示div
jQuery(window).load (function () { jQuery('#DIV').removeClass('hidden_div') });
如果你使用.load
(ajax调用)加载div,则使用.load回调来显示div。
jQuery('#DIV').load('', function() { jQuery('#DIV').removeClass('hidden_div') });
假设您将div
隐藏在下面的两个以上,
注意:添加延迟可能无法为您提供一致的结果。 例如:如果延迟为5秒,页面需要10秒才能加载,那么您将遇到相同的问题。
它只是由PHP生成的HTML加载,而不是jQuery。 我正在关注第一条评论,所以这样的事情? “jQuery的( ‘#DIV’)延迟(1000).removeClass( ‘hidden_div’);”。
如果它是php生成的代码,则在生成代码的末尾回显removeClass
代码。
为了避免加载时闪烁,我建议使用CSS进行初始隐藏
#div { display: none; }
然后显示div使用JS
function showDiv() { $('#div').show(); } setTimeout(showDiv, 2000);
最初你可以通过jquery(或CSS,但这是大多数人不喜欢的东西)隐藏它,然后在页面完成加载后调用show方法你可以尝试将它包装在:
$(document).ready(function(){ $("#DIV").hide(); }
然后到你页面的底部(虽然它真的无关紧要):
$(window).load(function(){ $("#DIV").show(); or .fadeIn(); });
$(document).ready(function(){ $('#div') .css({opacity:0}) /*set opacity to 0*/ .delay(2E0) /*wait 2 seconds*/ .animate({opacity:1}); /*animate in opacity*/ });
或者,
$(document).ready(function(){ $('#div') .css({opacity:0}) /*set opacity to 0*/ //wait for body to load $('body').bind('load', function(){ $('#div').animate({opacity:1}); /*animate in opacity*/ }); });
这段代码来自jquery api网站上的delay()
$('#myDiv').slideUp(300).delay(800).fadeIn(400);
jsfiddle: http : //jsfiddle.net/NNQ4f/
为什么不将div内联的显示属性设置为’none’,然后在文档加载时显示div?
$(document).ready(function() { $('#mydiv').show(); });
我最初会隐藏div,然后你可以设置一个计时器去除类或使用.fadeTo来缓慢显示它(其他finagling,不只是交换它,你还必须设置不透明度设置)。 但是,在我个人看来,我认为页面可能会被用来重新设计,以便在第一次看起来正确或找到一些其他非时钟导向的时序方案,以便在偶数发生后改变视图。
就像是:
[...]
语法未经validation。
干杯,~M
首先,为非js用户设置内容:
Content
然后,删除class和show容器。
$(document).ready(function() { // Remove no js class $('body').removeClass('no-js'); // Show and animate div container $('#div').hide().delay(2000).fadeIn(); });
jsFiddle示例
我用$(document).ready();
添加你的css类然后$(window).load();
删除它。
$(document).ready(function(){ $('#DIV').addClass('hidden_div'); }); $(window).load(function(){ $('#DIV').removeClass('hidden_div'); });
这里的所有方法都不起作用,我测试了它们。 在用户可以看到之前,Jquery太慢而无法隐藏某些东西,因为代码必须在DOM就绪函数中。 最简单最好和最快的方法:将需要隐藏的元素放在div中,并在此div的顶部添加一个js以在loding期间隐藏它,这种方式对于没有启用js的用户也是安全的! (经过测试,例如,chrome,ff,最新版本05.2013):
隐藏div的示例:
// Content that needs to be hidden
干杯