$(窗口).scroll没有触发

时间:2014-09-05 14:57:21

标签: jquery sharepoint sharepoint-designer

我使用的是Sharepoint开发者。在页面内我有自定义的JQuery代码,工作正常。但是,当我添加$(窗口).scroll时,它不会触发。

function TTNListScroll()
{
var bestaatDiv = document.getElementById("header-fixed");
if(bestaatDiv ==null){
    alert("mag maar 1 keer komen");
    var head = document.getElementsByTagName("thead");
    TTNmyTable = head[0].parentNode;
    TTNmyTable.id="table-1";
    var parent = TTNmyTable.parentNode;
    parent.removeChild(TTNmyTable);
    parent.appendChild(TTNmyTable);
    var newTable=document.createElement("table");
    newTable.id="header-fixed";
    parent.appendChild(newTable);

    var tableOffset = $("#table-1").offset().top;
    var $header = $("#table-1 > thead").clone();
    var $fixedHeader = $("#header-fixed").append($header);
    $(window).scroll(function() {
    alert('a');
    });
    alert($._data(window).events.scroll);
    alert($(window).height());
    }
}

该函数在document.ready中定义 我的目标是在向下滚动时冻结表头。

如果有人有任何想法,他们会受到好评。

由于

2 个答案:

答案 0 :(得分:7)

TTNListScroll会被调用吗?你定义了这个函数,但看起来你没有调用它,所以事件不会被绑定。

或者,尝试将滚动事件绑定到'html, body'而不是window,如下所示:

$('html, body').scroll(function() { ... });

最后但并非最不重要的是,您可以尝试直接绑定不同的滚动事件。 jQuery应该处理这个问题,但也许它不正确:

$('html, body').bind('DOMMouseScroll MouseScrollEvent MozMousePixelScroll wheel scroll', function() { your code });

答案 1 :(得分:4)

我有同样的问题,原因是这个css存在冲突,一旦我删除了这个css中的溢出,就可以了。

html,body {
 height:100%;
 overflow-x: hidden;
}