繁体   English   中英

如何在滚动时更改元素宽度?

[英]How to change element width on scroll?

我对编码非常陌生,现在我正在做一个小型的学校作业,其目的是创建一个服务网站。

当我滚动页面时,我想从侧面做一个面部,从左到右生长的鼻子 - (就像Pinocchio一样)。

也许我写的代码将有助于更准确地解释我想要做的事情......

我的问题是:我应该怎样做才能让我的鼻子元素固定在左侧,并且在滚动时越来越多地向右移动? 当我将位置设置为固定时,我的鼻子元素消失了。

这是我的灵感来源/代码 - > http://jsfiddle.net/95EtZ/11/

这是我的代码:

 $(function() { var Node = $('#container'), BaseWidth = Node.width(); $(window).resize(function() { $('#container').css({ top: ($(window).height() - $('#container').outerHeight()) / 2 }); }); $(window).resize(); var $scrollingDiv = Node; $(window).scroll(function() { var winScrollTop = $(window).scrollTop() + 0, zeroSizeHeight = $(document).height() - $(window).height(), newSize = BaseWidth * (1 - (winScrollTop / zeroSizeHeight) * (2 / 3)); Node.css({ width: newSize, "marginTop": winScrollTop + "px" }); }); }); 
 #added { background: white; height: 1500px; overflow: hidden; position: relative; } #container { width: 600px; height: 100px; background-color: #567; margin: 0 auto; position: relative; } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="main.css"> </head> <body> <div id="added"> <div id="container"></div> </div> </body> </html> 

只需让div向左浮动它就可以了。

#container {
  width: 600px;
  height: 2000px;
  background-color: #567;
  margin: 0 auto;
  position:relative;
  float:left;    
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM