我遇到的基本问题是,我希望根据用户在页面上的当前垂直位置淡入和淡出特定的div。向下滚动时让第一个div变为淡入淡出,当我回到页面顶部时,它会逐渐消失。我猜我需要使用大于,少于scrollTop javascript来确定每个的限制。
这是我到目前为止使用的javascript:
if(scrollTop > 500) {
$("#Project-Desc, #Aqueous-Desc").fadeIn('slow');}
if(scrollTop < 500) {
$("#Project-Desc").fadeOut('slow');}
这是我的网站,以确定我正在尝试做什么:
你会看到淡入的小灰框将包含项目描述,这就是我需要淡出旧内容并根据滚动位置等淡入新内容的地方。
谢谢!
PS - 附加HTML
<div id="Portfolio">
<div id="Port-Position">
<div id="Aqueous" class="Projects">
<div class="Project-Spacer">
</div>
<img src="Images/Projects/AqueousModel.jpg" width="600" height="400" border="0" alt=""/>
<img src="Images/Projects/AqueousPlan.jpg" width="600" height="400" border="0" alt=""/>
<img src="Images/Projects/AqueousModel.jpg" width="600" height="400" border="0" alt=""/>
</div>
<div class="Project-Divider">
</div>
<div id="Townhouse" class="Projects">
<div class="Project-Spacer">
</div>
<img src="Images/Projects/townhousePlan.jpg" width="600" height="400" border="0" alt=""/>
<img src="Images/Projects/townhouseModel.jpg" width="600" height="400" border="0" alt=""/>
<img src="Images/Projects/townhousePath.jpg" width="600" height="400" border="0" alt=""/>
</div>
</div>
</div>
<div id="Project-Desc">
<div id="Aqueous-Desc" class="Desc">
<h2>AQUEOUS</h2>
<p><h4>2006 - Temple University</h4></p>
<div class="Desc-Body">
Aqueous, meaning of water, is a blah blah blah more text here blah blah blah sweet awesome. Minecraft. Love that stuff.
</div>
<div class="Desc-Footer">
Clay Prototype, Handrawn Plan on Vellum, Foamcore Model.
</div>
</div>
<div id="Townhouse-Desc" class="Desc">
<h2>TOWNHOUSE</h2>
<p><h4>2006 - Temple University</h4></p>
<div class="Desc-Body">
Aqueous, meaning of water, is a blah blah blah more text here blah blah blah sweet awesome. Minecraft. Love that stuff.
</div>
<div class="Desc-Footer">
Clay Prototype, Handrawn Plan on Vellum, Foamcore Model.
</div>
</div>
</div>
注意:项目描述,即我淡入淡出的框,是一个固定的位置元素,如果这有任何区别。
答案 0 :(得分:1)
这非常有帮助。我做了一些修改,当用户快速滚动时,我发现有助于简化元素之间的转换。
像
这样的东西 if( y > (600) && y < (1900) ){
$("#Aqueous-Desc").fadeIn('slow');
}else{
$("Aqueous-Desc").fadeOut("slow");
}
这会将不透明度内容绑定到if语句中设置的范围,因此如果您超出范围,它将会淡出。
答案 1 :(得分:0)
我想我有答案。我欢迎所有对此代码有任何建议的人,但基本上你需要找到窗口的滚动位置,并根据某些参数插入淡入和淡出(其中位置大于x但小于y,淡出#mydiv)。我在下面写了几个,还有更多的东西要去。
$(window).scroll(function(){
// gets the position of the window
var y = $(window).scrollTop();
if( y < (600) ){
$(".Desc").fadeOut('slow');}
if( y > (600) && y < (1900) ){
$("#Aqueous-Desc").fadeIn('slow');}
if( y > (1900) ){
$("#Aqueous-Desc").fadeOut('slow');}
if( y < (600) ){
$("#Aqueous-Desc").fadeOut('slow');}
if( y > (2100) && y < (3300) ){
$("#Townhouse-Desc").fadeIn('slow');}
if( y > (3300) ){
$("#Townhouse-Desc").fadeOut('slow');}
if( y < (2100) ){
$("#Townhouse-Desc").fadeOut('slow');}
if( y > (3500) && y < (4700) ){
$("#Poley-Desc").fadeIn('slow');}
if( y > (4700) ){
$("#Poley-Desc").fadeOut('slow');}
if( y < (3500) ){
$("#Poley-Desc").fadeOut('slow');}