javascript - 重置 div 的位置有时只能工作

标签 javascript jquery html css

我在动画后使用 jquery 重置 div 的左侧位置时遇到问题。我正在尝试为屏幕外(左)到屏幕上的 div 设置动画。但是,我只想在窗口的 scrollTop 值大于某个值时触发此动画。一旦 scrollTop 的值小于该值,我希望 div 的位置发生变化,以便它再次离开屏幕。这是有效的,但只是有时,我不确定为什么。我还将 div 的位置设置为绝对位置,同时我将其设置为离开屏幕并且此更改始终有效!。下面是我要制作动画的 div 的代码和 CSS。谢谢!

改变滚动位置的函数

$(window).scroll(function() {
 if( $(this).scrollTop() > 500 {       
  $(".animated-logo").css({position:'fixed'});
  $(".animated-logo").animate({left: '20px'},500);
  } 
 else{
  $('.animated-logo').css({position: 'absolute',left:'-150px'}); 
  }
});

动画标志元素的 CSS

.animated-logo
{   
  position:absolute; 
  top:0; 
  left:-150px; 
  width:100px; 
  z-index:2;    
}

最佳答案

所以首先,你有一个语法错误。

我会使用类来解决这个问题,而不是像这样。充其量你会有一个错误的过渡。您可以调整 css 过渡以使其成为您想要的时间。

JS:

$(window).scroll(function() {
 if( $(this).scrollTop() > 500) {       
    $(".animated-logo").addClass('visible');
  } 
 else{
    $(".animated-logo").removeClass('visible');  
 }
});

CSS:

.animated-logo{   
  position:absolute; 
  top:0; 
  left:-150px; 
  width:100px; 
  z-index:2;
  transition:0.5s;
}

.animated-logo.visible{
  position:fixed;
  left:20px;
}

https://jsfiddle.net/783z9rhm/6/

关于javascript - 重置 div 的位置有时只能工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49928743/

相关文章:

html - 我的一个段落不会向左浮动以与其他段落保持一致

html - 步骤进度条

javascript - 如何创建一个返回 html 的 javascript 函数

javascript - 如何将 2015 年 8 月 16 日星期日 00 :00:00 GMT+0200 (W. 欧洲夏令时间) 转换为 16.08.2015

jquery - Html单选按钮选择

php - 如何使用 jQuery/AJAX 在主窗体中提交 iframe 子窗体?

html - 如果太大,调整大小的图像会自动覆盖其下方的文本

javascript - 找到一个不等于这个类的 div

javascript - 在数据表中设置默认排序列

jQuery css 选择器 - 选择除最后一个以外的所有选择器