2011-03-01 150 views
1

我正在使用jQuery幻灯片出现在页面上出现在页面上时加载(约1秒),然后被隐藏。我不想让它显示出来,我该怎么做?jquery隐藏元素加载页面加载1秒

我使用这个代码:

$(document).ready(function() { 
// hides the slickbox as soon as the DOM is ready 
// (a little sooner than page load) 
    $('#menucategory').hide(); 
// shows the slickbox on clicking the noted link 
    $('img.menu_class').click(function() { 
$('#menucategory').show('slow'); 
return false; 
    }); 
// hides the slickbox on clicking the noted link 
    $('a#hidecategory').click(function() { 
$('#menucategory').hide('slow'); 
return false; 
    }); 

}); 
+0

请将代码写在'jsfiddle.net'上 – diEcho 2011-03-01 10:02:51

+0

我已经自行编写代码 - [http://jsfiddle.net/xbHbP/](http://jsfiddle.net/xbHbP/1 ),我实际上不知道你在问什么... – Alex 2011-03-01 10:05:07

+0

ahhhh做到了。 @Razor Storm说了些什么? – Alex 2011-03-01 10:05:42

回答

0

你的事件只会在DOM加载后触发。最好只用CSS来隐藏它。你应该在你的页面的顶部或在样式表

#menucategory { 
    display:none; 
} 
1

只是要通过CSS默认是隐藏的#menucateogry:

#menucategory 
{ 
    display:none; 
} 

然后,所有你需要的是以下几点:

$(document).ready(function() { 

    $('img.menu_class').click(function() { 
     $('#menucategory').show('slow'); 
     return false; 
    }); 

    $('a#hidecategory').click(function() { 
     $('#menucategory').hide('slow'); 
     return false; 
    }); 
}); 

编辑:原因是,因为你正在做$(document).ready(),你的hide()代码将不会真正运行,直到图像完成加载。

+0

'返回false;'是必要的? – diEcho 2011-03-01 10:25:45

+0

我只包含返回语句,因为它们在原始文章中 – 2011-03-01 10:48:30

0

尝试把CSS样式元素#menucategory显示:无

0

第一次写CSS

#menucategory 
{ 
display:none; 
} 

然后下面写代码

jQuery(document).ready(function() { 
    jQuery('img.menu_class').click(function() { 
     jQuery('#menucategory').show('slow'); 
    }); 
    jQuery('a#hidecategory').click(function() { 
     jQuery('#menucategory').hide('slow'); 
    }); 

});

+0

不需要'$('#menucategory')。hide();'如果您使用的是display:none'CSS – Alex 2011-03-01 10:06:42

+0

@Alex yes ur对 – diEcho 2011-03-01 10:07:15