0

我在组合 2 个脚本时遇到问题我有 javascript 代码来检查我的容器有多大,如果它大于 500,它会将内容分成 2 个不同的 div:

function divideStream() {
            if ($("#stream_one_col").width() > 500) {
                var leftHeight = 0;
                var rightHeight = 0;

                $("#stream_one_col").children().each(function() {
                    if (rightHeight < leftHeight) {
                        $("#stream_right_col").append(this);
                        rightHeight += $(this).height();
                        $(this).children().addClass("stream_right_inner");
                    }
                    else {
                        $("#stream_left_col").append(this);
                        leftHeight += $(this).height();
                        $(this).children().addClass("stream_left_inner");
                    }                               
                });
            }
            else {
                $("#content_left").load("php/stream_left.php");
            }
        }

我有一个ajax刷新

$(document).ready(
        function() {
            setInterval(function() {
                $('.aroundit').load('php/stream_left.php');
            $(".aroundit").divideStream();
            }, 3000);
        });

现在基本上重新加载就好了但是,激活ajax后函数(divideStream)不会重新加载而是它只是不断地来回跳跃有人可以帮助我吗?

4

2 回答 2

1

函数 divideStream 不是 jQuery 的扩展函数。

你应该使用这个:

$(document).ready(
        function() {
            setInterval(function() {
                $('.aroundit').load('php/stream_left.php');
                divideStream();
            }, 3000);
        });
于 2013-09-25T19:44:54.707 回答
0

我不太确定我是否理解正在发生的事情。但我认为您可能希望确保在加载完成后运行您的 divideSteam 功能。你可以这样做。

 $(document).ready(
    function() {
        setInterval(function() {
            $('.aroundit').load('php/stream_left.php', function() {  //this function runs once load has completed
                divideStream();  // as hugo mentioned   
            });
        }, 3000);
    });
于 2013-09-25T19:52:31.577 回答