【问题标题】:When window scroll, I want to append a div and hide the div when scroll back to top?当窗口滚动时,我想附加一个 div 并在滚动回顶部时隐藏 div?
【发布时间】:2015-06-16 06:14:13
【问题描述】:

我想创建一个函数,当用户向下滚动到中间时,菜单会有一个'sticky'类,当div有'sticky'类时,我想附加一个div。问题是当我滚动时它会继续追加 div。第二个问题是,当我滚动回顶部时,附加的粘性停留。帮助,谢谢。

 jQuery(window).scroll(function(){
   		
		   if(jQuery('.main-menu-top').hasClass('sticky')){
			   jQuery('.main-menu-top').append('<div id="checkout_sticky"></div>');
		   		   }else{
            /*I want to hide the checkout_sticky, try hide(), doesn't work*/
   });

【问题讨论】:

    标签: javascript jquery html css


    【解决方案1】:

    您需要创建一些在完成后会更改的内容。为此,

    创建一个值为 true 的 var,然后在 if 语句中检查它是否为 true,如果是,则运行函数,然后在该函数中将 var 的值更改为 false。

    var test = true;
    
    jQuery(window).scroll(function(){
    
               if(jQuery('.main-menu-top').hasClass('sticky') && test==true){
    test = false;
                   jQuery('.main-menu-top').append('<div id="checkout_sticky"></div>');
                       }else{
                /*I want to hide the checkout_sticky, try hide(), doesn't work*/
       });
    

    要让它隐藏,你可以试试;

    else { 
        $('#checkout_sticky').css("visibility","hidden");  
    }
    

    如果不行你可以试试,

    $('#checkout_sticky').removeAttr('id');
    

    【讨论】:

    • $('#checkout_sticky').css("visibility","hidden");并且 removeAttr 不起作用。
    • @conan 我能问一下你从 .appending 中获得了什么,它只是 id 吗?还是有更多的代码填充div?
    • 这只是我附加的 id。如果我使用 removeAttr id,当我向下滚动时不会显示任何内容。
    • @conan 所以它会删除它,但你希望它在向下滚动时返回?
    • 谢谢,sayhitoworld.com 是链接。我还需要两天时间才能完成它。如果你能告诉更多的朋友,我很感激。
    猜你喜欢
    • 2020-03-30
    • 2021-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多