ajax刷新后调整大小函数问题

时间:2013-09-25 19:01:12

标签: javascript ajax jquery

我遇到了组合2个脚本的问题 我有javascript代码检查我的容器有多大,如果它大于500它将内容分成两个不同的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)不会重新加载 相反,它只是不停地来回跳跃 任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

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

你应该用这个:

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

答案 1 :(得分: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);
    });