2012-09-12 96 views
1

如果您訪問www.rambocats.com,當頁面加載時,您會看到此底部中央div顯示一兩秒鐘,然後消失。 (Div用粉色字母表示「Gallery II」)。它應該只在您滾動到頁面的2/3左右時纔會出現。如何防止在初始加載過程中顯示?(jquery)在頁面加載過程中阻止div顯示

這裏是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(); 
    } 
}); 

回答

9

發生了什麼事是,它設置爲默認爲可見,所以它顯示之前的JavaScript/jQuery運行隱藏它。

我傾向於對項目不應該從一開始就可見做的是增加一個CSS類它們被設置爲display: none;visibility: hidden;,像這樣:

.hide { 
    display: none; 
} 

然後使用jQuery刪除上課後致電.hide()。在元件上:

$('#elementId').hide().removeClass('hide'); 
+0

完美;感謝大家。 – Stephen

+0

謝謝,精彩地解釋! – JDavies

0

我認爲這是動畫的.hide()事件,嘗試style="display:none;"作爲HTML爲$("#homiesSlideButton")元素的一部分。

0

在CSS爲您的div設置的div有物業

visibility: hidden; 

當網頁加載,

$("#yourDivId").show(); 
1

它可以是簡單:

<!DOCTYPE HTML> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Let's hide and show a div</title> 

<style type="text/css"> 
#myHiddenDiv { visibility: hidden; } 
</style> 

</head> 

<body> 

<div id="myHiddenDiv"> 
Hidden until after the script loads. It will be imperceptible in most cases. But if you comment out or remove the script, the div will indeed be hidden! 
</div> 


<script type="text/javascript"> 
document.getElementById('myHiddenDiv').style.visibility = 'visible'; 
</script> 

</body> 
</html>