是否可以让fadeOut保持元素的高度?

jas*_*457 0 html javascript jquery

我正在向我的网站添加随机背景图像.我在页面的左下方放了一个摄像头图标,当用户将鼠标悬停在图标上时,它会隐藏我页面上的其他内容,以便您查看背景图像.问题是,当我调用jQuery fadeOut函数时,它会丢失垂直滚动条,然后调整我的图像大小以在屏幕的这一部分上拉伸.它看起来像一个小故障,但我知道这是因为我在fadeOut函数调用期间丢失了垂直滚动条.

是否有类似的调用fadeOut会隐藏我的内容,但不会丢失滚动条?我知道我可以将滚动条设置为始终在我的屏幕上,但我不希望看到因为我的某些页面不需要它.

谢谢!

Rob*_*xyz 8

jQuery $.fadeOut淡化元素的不透明度,然后display: none;在完成时将其设置为.这导致元素随着滚动条一起消失.

相反,你可以使用$.animate:

$('#myEl').animate({opacity:0});
Run Code Online (Sandbox Code Playgroud)

隐藏元素,然后:

$('#myEl').animate({opacity:1});
Run Code Online (Sandbox Code Playgroud)

再次展示它.

使用这个不会弄乱布局,只是透明度.

这是一个显示故障的JSFiddle演示.

这是一个更好的工作.


Pro*_*eek 5

而不是使用淡出,使用 fadeto

.fadeTo( "slow", 0 );
Run Code Online (Sandbox Code Playgroud)

https://api.jquery.com/fadeTo/