开发者社区> 问答> 正文

js事件相互触发,死循环了

写了两个并排的div,里面是前后对比的东西,所以希望第一个div滚动的时候,第二个div同步滚动。然后写了一段代码直接蒙逼了。a的滚动事件里,让b滚动,但是b滚动的时候又会让a滚动,循环相互触发滚动事件。我让他滚动之前取消事件也不行。

$(function(){
        $('#fPanel').on("scroll",synA);
        $('#aPanel').on("scroll",synF);
    });
    function synA(){
        $('#aPanel').off("scroll",synF);
        $('#aPanel').scrollTop($("#fPanel").scrollTop());
        $('#aPanel').on("scroll",synF);
    }
    function synF(){
        $('#fPanel').off("scroll",synA);
        $('#fPanel').scrollTop($("#aPanel").scrollTop());
        $('#fPanel').on("scroll",synA);
    }

展开
收起
a123456678 2016-07-14 16:59:52 2583 0
1 条回答
写回答
取消 提交回答
  • $(function(){
            $('#fPanel').on("scroll",synA);
            $('#aPanel').on("scroll",synF);
        });
        function synA(){
            $('#aPanel').off("scroll",synF);
            $('#aPanel').scrollTop($("#fPanel").scrollTop());
            setTimeout(function(){
                $('#aPanel').on("scroll",synF);
            },100);
        }
        function synF(){
            $('#fPanel').off("scroll",synA);
            $('#fPanel').scrollTop($("#aPanel").scrollTop());
            setTimeout(function(){$('#fPanel').on("scroll",synA);},100);
        }
    2019-07-17 19:56:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载