jQuery实现多个div实现滚动固定到顶部

有多个div叫gou的 当滚动条向下滚动的时候每一个gou依次固定到顶部,但是当向上滚动的时候触发条件判断不对 怎么回事?

代码:

$(document).ready(function(){
                    //获取定位元素距离浏览器顶部的距离
                    //var top = $(".ding").offset().top;
                $(window).scroll(function(){
                    //获取滚动条的滑动距离
                    var scroH = $(this).scrollTop();
                    
                            // 分别获取ding的top
                        $(".ding").each(function(index, ele) {//遍历所有的ding
                            //获取div距离顶部页面的距离
                            $(this).data('top', $(this).offset().top) 
                        
                        // scroll里面, 需要分别判断top
                          
                            if ($(this).data('top') - scroH < 42 ) {
                                if (!$(this).hasClass('gou')) {
                              $(this).addClass('gou').css("z-index","99");
                                    $(this).next(".clear").css("height","76px");
                                }
                               console.log($(this).data('top') - scroH);
                            } else if($(this).data('top') - scroH >  42 ) {
                                console.log("555")
                              $(this).removeClass('gou').css("z-index","0");
                              //else if 里面的条件判断不对 应该怎么改 啊
                            }
                        })
                    });
                });
阅读 2.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题