【问题标题】:$(window).scroll not firing$(window).scroll 没有触发
【发布时间】:2014-10-30 13:48:56
【问题描述】:

我正在使用 Sharepoint 开发者。在页面内部,我有自定义的 JQuery 代码,可以正常工作。但是当我添加 $(window).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里面定义 我的目标是在我向下滚动时冻结表头。

如果有人有任何想法,他们将不胜感激。

谢谢

【问题讨论】:

    标签: jquery sharepoint sharepoint-designer


    【解决方案1】:

    TTNListScroll 是否被调用?您定义了函数,但似乎您没有调用它,因此事件不会被绑定。

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

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

    最后但同样重要的是,您可以尝试直接绑定不同的滚动事件。 jQuery 应该解决这个问题,但它可能不正确:

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

    【讨论】:

    • 嗨,我试过了,但失败了。我猜来自共享点设计器的 javascript 阻止了滚动事件。有没有办法检查这个?
    • 您是否将您的 jquery 代码放入文档就绪包装器中?
    • 你的超级!!最后它帮助了我
    • $('html, body').scroll(function() 为我工作,非常感谢
    【解决方案2】:

    我遇到了同样的问题,原因是这个 css 有冲突,一旦我删除了这个 css 中的溢出,它就起作用了。

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

    【讨论】:

    • 非常晦涩,但这实际上解决了我的问题。
    • 另请查看overflow: auto
    猜你喜欢
    • 2015-05-15
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多