2017-06-06 21 views
0

我已经设置了一个Scroll事件来触发淡出或淡入“$(”#btn“)”,但我不甚至能够检测滚动事件时滚动,当检查滚动的值返回为0,由于它没有反映任何东西。如何检测“身体”内的滚动并摆脱scrollTop()返回0

问题:无法检测到任何类型的滚动事件并没有能够得到滚动值

这里是我试过

https://jsfiddle.net/evwrs0jq/1/

$(document).ready(function(){ 

$("body").on("scroll", function(){ 
alert(); 
     var currentScroll = $(this).scrollTop() 
     var BtnAction = $("#btn"); 
     if (currentScroll > offset) { 
      BtnAction.fadeOut(duration); 
     } else { 
      BtnAction.fadeIn(duration); 
     } 
     offset = currentScroll; 
     }); 
}); 
+0

检查你是否正在寻找这个https://jsfiddle.net/57rcc4jr/1/ – XYZ

+0

@XYZ但是我仍然在寻找与Id基地或身体和滚动仍然返回0作为价值, – Aryan

+0

你的身体有身高100%。滚动事件发生在div内https://jsfiddle.net/v7r8zauz/1/ – XYZ

回答

1

我猜你想这个:https://jsfiddle.net/evwrs0jq/2/

​​

身体本身并不在这里滚动,它是滚动的div。这就是为什么你的警报没有出现。

+0

你是对的我得到了一个警报,但仍然我的蓝色框没有隐藏,因为0从滚动返回 – Aryan

+0

嗯,我看到偏移量没有定义其第一次调用,也是持续时间变量是也没有定义。看看这个。现在你的动画工作:https://jsfiddle.net/evwrs0jq/3/ – hallleron

+0

如果你添加“console.log(currentScroll);”在“var currentScroll = $(this).scrollTop()”之后,你也可以看到这些值可以被读取...... – hallleron