Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 元素在滚动点之间可见_Javascript_Jquery_Scroll - Fatal编程技术网

Javascript 元素在滚动点之间可见

Javascript 元素在滚动点之间可见,javascript,jquery,scroll,Javascript,Jquery,Scroll,我有一些元素是可见的,当滚动大于890px。 但我有一个问题,元素必须在890px和920px之间可见,若用户滚动的thna920大于或小于890px,我需要隐藏该元素 我使用动画css在元素出现时添加动画 这就是我现在在JS中的内容 var $document = $(document), $elementField = $('.center-field'); $document.scroll(function () { if ($document.scrollTop() &

我有一些元素是可见的,当滚动大于890px。 但我有一个问题,元素必须在890px和920px之间可见,若用户滚动的thna920大于或小于890px,我需要隐藏该元素

我使用动画css在元素出现时添加动画

这就是我现在在JS中的内容

var $document = $(document),
    $elementField = $('.center-field');

$document.scroll(function () {
    if ($document.scrollTop() >= 890) {
        $elementField.stop().addClass("show animated bounceInDown");  
    }
});

现在,当用户滚动超过890px时,它将出现,但当用户返回时,它将再次停留,是否有某种手表用户滚动?

您不能在else中隐藏吗

$document.scroll(function () {
if ($document.scrollTop() >= 890) {
    $elementField.stop().addClass("show animated bounceInDown");  
}else{
    $elementField.hide(); //or something like that
}

你不能躲在别的地方吗

$document.scroll(function () {
if ($document.scrollTop() >= 890) {
    $elementField.stop().addClass("show animated bounceInDown");  
}else{
    $elementField.hide(); //or something like that
}

您完成的代码是这样工作的:

  • 每次滚动时:
  • 检查滚动是否超过890px
  • 如果是,添加类
正如您所看到的,它不包含隐藏元素的逻辑。 您需要检查滚动是否小于890px并删除类。 您可以尝试类似的方法(假设当您的节点没有显示类时,它是隐藏的):

var$document=$(文档),
$elementField=$('.center field');
$document.scroll(函数(){
var scroll=$document.scrollTop();

如果(scroll>=890&&scroll您所执行的代码是这样工作的:

  • 每次滚动时:
  • 检查滚动是否超过890px
  • 如果是,添加类
正如您所看到的,它不包含隐藏元素的逻辑。 您需要检查滚动是否小于890px并删除类。 您可以尝试类似的方法(假设当您的节点没有显示类时,它是隐藏的):

var$document=$(文档),
$elementField=$('.center field');
$document.scroll(函数(){
var scroll=$document.scrollTop();

if(scroll>=890&&scroll只需对if条件更具体一点

var$document=$(文档),
$elementField=$('.center field');
$document.scroll(函数(){

if($document.scrollTop()>=890&&$document.scrollTop()只需对if条件更具体一点

var$document=$(文档),
$elementField=$('.center field');
$document.scroll(函数(){

如果($document.scrollTop()>=890&&$document.scrollTop())你能做一个JSFIDLE什么的吗?你能做一个JSFIDLE什么的吗?问题是动画,我不能在删除类时添加fadeIn动画?我需要删除动画BounceInDown,添加新类fadeOut@MiomirDancevic我不确定我是否理解,但我编辑了我的答案。请查看链接bm.play2web.com,有一些玩家需要帮助o现场问题是动画,我不能在移除类时添加fadeIn动画?我需要移除动画BounceInDown,添加新类fadeOut@MiomirDancevic我不确定我是否理解,但我编辑了我的答案。请查看bm.play2web.com链接,有些球员需要在场上