Ste*_*hen 1 javascript jquery fouc
如果您转到www.rambocats.com,当页面加载时,您会看到这个底部中心的div显示一两秒,然后消失.(Div用粉红色字母表示"画廊II").它应该只在您向下滚动到页面的大约2/3时出现.如何在初始加载期间阻止它显示?
这是jQuery:
$(document).ready(function(){
var open = false;
$('#homiesSlideButton').click(function() {
if(open === false) {
$('#homiesSlideContent').animate({ height:'610px' });
$(this).css('backgroundPosition', 'bottom left');
$("#homies-wrapper img").peTransitionHilight({ // image highlight/transitions plugin
slideshow:true,
transition:"all",
duration:1500,
delay:4444, boost:0.3
});
open = true;
} else {
$('#homiesSlideContent').animate({ height: '0px' });
$(this).css('backgroundPosition', 'top left');
open = false;
}
});
});
$("#homiesSlideButton").hide();
$(window).scroll(function(){
if($(window).scrollTop()>4444){ // position on page when button appears
$("#homiesSlideButton").fadeIn();
}else{
$("#homiesSlideButton").fadeOut();
}
});
$(window).scroll(function(){
if($(window).scrollTop()>4444){ // position on page when button disappears
$("#homiesSlideContent").fadeIn();
}else{
$("#homiesSlideContent").fadeOut();
}
});
Run Code Online (Sandbox Code Playgroud)
发生的事情是它默认设置为可见,因此它会在javascript/jquery运行之前显示以隐藏它.
我倾向于对从一开始就不应该看到的项目做的是为它们添加一个设置为display: none;或者的CSS类visibility: hidden;,如下所示:
.hide {
display: none;
}
Run Code Online (Sandbox Code Playgroud)
然后使用jquery在调用后删除该类.hide().在元素上:
$('#elementId').hide().removeClass('hide');
Run Code Online (Sandbox Code Playgroud)