$(window).scroll()没法触发问题

  在微信端开发中遇到一个这种问题:明明用的公共文件(代码以下图),其余页面每次都能触发这个滚动条$(window).scroll事件,以显示右下角“回到顶部”这个按钮图标html

可是,问题来了,最该须要使用“回到顶部”功能的列表页面时候,竟然不显示这个图标了!!!(当时我就想一句mmp不知道送给谁)。浏览器

 

  我查看了html加载状况,嘿,加载是加载了,按要求加载的哦,一点都不缺斤少两(以下图),明晃晃的display:none送给你~微信

静态页的也是这个样子哦,滑动了滚动条才显示可爱的向上图标哦~函数

 

 

  加载完数据死活不触发滚动事件(微笑^V^)spa

  忘记说了,我用的是$.each去循环列表,列表没问题,不显示一个小小的图标而已(努力微笑~^V^~)htm

 

  原本嘛,小功能,不影响大局,回头直接直愣愣显示($(“#toTop”).show())不隐藏就好了。blog

  可是吧……我以为仍是须要再抢救一下,你看吧,其余页面都是滚动条离开顶部时候才显示图标的,就列表页面不懂事,如此不一致的画风,列表页也是会自卑的好吗?(不生气^U^)事件

  上网查,各类各样的可能性(写错代码,初始化高度不够循环,body包不住等等),一一试着改了:初始化高度不够这个比较有意思,因此我就找这个方向改的。开发

如下是反面案例io

 

  同事建议我添加body的高度和HTML的高度样式(height:100%)嘿!成了,图标显示了呢!

  并非……

  人家图标收不回去了呢,就是不触发滚动事件,就是这么傲娇(有点生气,可是仍是要保持微笑^o^)。

 

  又一想,等列表加载完再去触发这个方法是否是可行?因而我把$(window).scroll()事件复制到加载列表的函数里面,循环完列表了就立刻加载滚动条方法!

  蓝鹅……

  不显示,就是不显示!(微笑……笑不出来)

 

  放在$(function(){ 滚动事件 })……不行哦

 

成功案例

  我想着,反正都不行了,就试一下document .scroll() (注意,这种写法是会报错的),竟然显示了,而且和我想要的效果一毛同样!!!

报错的竟然还能行!!!

  情何以堪?

  顺着这条线,我把公共文件里的代码改了:把$(window).scroll()改为document.scroll()

  全面报错,手动再见。

  我也知道这样写不对啊,因而改公共方法:改为$(document).scroll()

  不报错,全部页面都不显示向上按钮了。再见,以死谢罪……

  这样吧,公共方法咱不改,用着$(window).scroll(),在列表加载完成后再放一个$(document).scroll(),反正列表页不触发$(window).scroll(),应该问题不大。

  竟然成功了……

论:$(window).scroll()与$(document).scroll()的区别

  说好的区别不大而且$(window).scroll()兼容各大浏览器呢?

我读书少,是被谁骗了么!!!!!

相关文章
相关标签/搜索