JavaScript中的滚动功能问题

时间:2016-03-15 09:32:14

标签: javascript jquery html css

我不熟悉最终开发,不幸的是有一些问题需要调用JavaScript函数。

我有以下功能:

 <script type="text/javascript">
    $(document).ready(function () {

        $("#table_div").scroll(function () {
            alert("test successful");
            jQuery('#divHeader').scrollLeft(jQuery('#table_div').scrollLeft());
            jQuery('#firstcol').scrollTop(jQuery('#table_div').scrollTop());
            jQuery('#lastcol').scrollTop(jQuery('#table_div').scrollTop());
        });
    });
</script>

和HTML定义为:

<div id="divHeader" class="firstpanel">

<div id="firstcol" class="firstcolumn">

<div id="table_div" class="contentpanel">

的样式为:

.contentpanel {
   overflow: scroll;
   width: 300px;
   height: 500px;
   position: relative;
 }

 .firstpanel {
   overflow: hidden;
   width: 284px;
 }

 .firstcolumn {
   overflow: hidden;
   height: 500px;
 }

我遇到了问题,因为当我调试我的应用程序时,我的JavaScript函数中的“警报”没有被触发。我已经在JSFiddle中用exacly相同的代码进行了测试,并且它工作得非常好,因为一旦我开始滚动我的div,就会调用alert函数。

我在我的应用程序中使用JQuery 1.5.1并且更愿意阻止在JQuery中使用更新的版本。在这种情况下,JQuery版本是问题吗?。

1 个答案:

答案 0 :(得分:1)

当元素未由DOM呈现时,您正在附加事件。您应该将该代码包装在$(document).ready()中或使用委托事件:

$(document).on('scroll', "#table_div", function () {
   // code 
});