写了个回到顶部的插件,发现了一些被忽视掉的问题
这个插件,我提供了一个默认容器,
先用的body,发现不能完美的监听它的滚动事件(具体看上一篇博客:body的滚动事件的坑 http://blog.csdn.net/ning0_o/article/details/70857113);
后改用document,又发现不能使用动画回到顶部
document不能使用animate函数
原因:jquery在执行 animate() 函数前执行了一个叫 isHiddenWithinTree() 的函数
顾名思义,判断这个节点在dom树上是不是隐藏的。
var isHiddenWithinTree = function( elem, el ) {
elem = el || elem;
return elem.style.display === "none" ||
elem.style.display === "" &&
jQuery.contains( elem.ownerDocument, elem ) &&
jQuery.css( elem, "display" ) === "none";
};
而document没有style属性,代码执行到这会报错,所有document不能使用animate()函数