Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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_Height_Toggle_Sticky Windows - Fatal编程技术网

Javascript 我需要帮助弄清楚如何切换一个元素一旦垂直高度的窗口是滚动

Javascript 我需要帮助弄清楚如何切换一个元素一旦垂直高度的窗口是滚动,javascript,jquery,height,toggle,sticky-windows,Javascript,Jquery,Height,Toggle,Sticky Windows,当我使用javascript向下滚动200px时,我试图将div从相对切换到固定。当我从窗口顶部达到200px时,我的div应该切换到fixed。当我在离顶部200px以上时,它应该回到相对位置。有人知道怎么做吗?比如: $(window).on('scroll', function() { $("#myDivID").css({ position: $(this).scrollTop()<200?'relative':'fixed', top: $(t

当我使用javascript向下滚动200px时,我试图将div从相对切换到固定。当我从窗口顶部达到200px时,我的div应该切换到fixed。当我在离顶部200px以上时,它应该回到相对位置。有人知道怎么做吗?

比如:

$(window).on('scroll', function() {
    $("#myDivID").css({
       position: $(this).scrollTop()<200?'relative':'fixed',
       top: $(this).scrollTop()<200?'200px':'0px'
    });
});
$(窗口).on('scroll',function(){
$(“#myDivID”).css({

位置:$(this).scrollTop()我知道至少有几个插件可以这样做。我记不起上次看到的插件的名称,但我自己写了一个:

你这样使用它:

$('#my-element').fixedIfNeeded();
有一个可选参数指定该元素是否应在到达另一个元素(例如页脚)之前停止被修复:


哇,太快了。谢谢!我该如何“重置顶部”?我建议之前缓存对
$(“#myDivID”)的引用
,否则每次滚动事件发生时,您都会重新评估,例如,如果您的元素的css top设置为
200px
,并且您向下滚动,直到元素一直位于屏幕顶部,然后您突然发现更改为“位置”
fixed
,您将看到元素从顶部跳到200px,因为现在它不再在文档流中。在这种情况下,您还必须将顶部位置更改为零,但具体数字取决于您的设计。@Fabriziocarderan-它在每个卷轴上设置元素样式属性,没有需要为此缓存选择器!
$('#my-element').fixedIfNeeded('#footer');