Jquery 隐藏标题并将其下方的div粘贴到滚动条的顶部
当用户开始向下滚动页面时,我试图隐藏标题并将div粘贴到顶部(就在标题下方)Jquery 隐藏标题并将其下方的div粘贴到滚动条的顶部,jquery,html,css,Jquery,Html,Css,当用户开始向下滚动页面时,我试图隐藏标题并将div粘贴到顶部(就在标题下方) 它应该保持在顶部,直到用户从顶部达到350px 当用户向上滚动时,只显示标题,而不显示下方的div 我尝试了css(粘性和固定位置),但没有达到预期效果 这是我的 这是我(在某人的帮助下)尝试过的jquery(我不擅长),但这只是我试图实现的目标的25% $(function(){ $(window).scroll(function(e) { if($(this).scrollTop()>300){
css
(粘性和固定位置),但没有达到预期效果
这是我的
这是我(在某人的帮助下)尝试过的jquery(我不擅长),但这只是我试图实现的目标的25%
$(function(){
$(window).scroll(function(e) {
if($(this).scrollTop()>300){
$('.header').fadeOut(); // Fading in the button on scroll after 300px
}
else{
$('.header').fadeIn(); // Fading out the button on scroll if less than 300px
}
});
});
用css做不到这一点。检查jquerys,可能的解决方案
$(window).scroll(function(e){
var $el = $('.fixedElement');
var isPositionFixed = ($el.css('position') == 'fixed');
if ($(this).scrollTop() > 200 && !isPositionFixed){
$('.fixedElement').css({'position': 'fixed', 'top': '0px'});
}
if ($(this).scrollTop() < 200 && isPositionFixed)
{
$('.fixedElement').css({'position': 'static', 'top': '0px'});
}
});
$(窗口)。滚动(函数(e){
变量$el=$('.fixedElement');
var isPositionFixed=($el.css('position')='fixed');
如果($(this).scrollTop()>200&!isPositionFixed){
$('.fixedElement').css({'position':'fixed','top':'0px'});
}
if($(this).scrollTop()<200&&isPositionFixed)
{
$('.fixedElement').css({'position':'static','top':'0px'});
}
});
在评论中添加了完整soloution的链接 您需要将标题和.newswrap设置为
位置:fixed
。这样就行了
$(document).ready(function(){
$(window).scroll(function() {
if($(window).scrollTop() < 350) {
$("header").show();
$(".newswrap").hide();
} else {
$("header").hide();
$(".newswrap").show();
}
});
});
$(文档).ready(函数(){
$(窗口)。滚动(函数(){
如果($(窗口).scrollTop()<350){
$(“标题”).show();
$(“.newswap”).hide();
}否则{
$(“标题”).hide();
$(“.newswap”).show();
}
});
});
为此,您需要jquery。你的js代码在哪里?我已经在末尾的提琴中添加了它。不。没有js。请注意我下面的答案,我想这是你在寻找我尝试过的js,但这是没有用的,因为我希望在用户滚动后标题立即隐藏,并且他在标题下方的div保持粘性,直到滚动从顶部达到350px。不,这不能解决我的目的,也可以单独使用css(位置:sticky)从您尝试执行的操作操作:sticky不会涵盖所有方面。位置:sticky仅定位某个元素,但您描述的逻辑必须由事件触发,因此我建议您使用scroll事件。我建议您尝试。Soloution可以在此处找到: