一旦javascript动态内容加载到div中,获取div的高度

时间:2011-11-17 15:25:54

标签: jquery dom html height var

我刚刚意识到我搞砸了我的上一个问题。

我正在使用下面的脚本获取DIV#tweet-area的动态高度,并将该高度插入CSS。

    var tweetheight = $("#tweet-area").height();
    $("#sidebar-wrapper").css({ bottom: tweetheight});

它很漂亮,但我刚刚意识到它的高度,是我的twitter内容加载之前div的高度。我的推特内容是由jQuery插件生成的,见下文。

我正在使用这个jQuery twitter插件 - tweet.seaofclouds.com/jquery.tweet.js

像这样加载脚本 -

    $("#latest-tweet").tweet({
        count: 1,
        username: ["motocomdigital"],
        loading_text: "searching twitter...",
    });

我将推文加载到DIV #titet-area内的DIV#latest-tweet。见下文

    <div id="tweet-area" class="clearfix">
        <div id="latest-tweet"></div>   
    </div>

我尝试在twitter脚本之后添加我的高度脚本,但仍然获得相同的高度:/

    <script>
        $(document).ready(function() {

                $("#latest-tweet").tweet({
                        count: 1,
                        username: ["motocomdigital"],
                        loading_text: "searching twitter..."
                });

                var tweetheight = $("#tweet-area").height();
                $("#sidebar-wrapper").css({ bottom: tweetheight});

        });
    </script>

任何帮助都会很棒,因为这对我来说是个专家。非常感谢

3 个答案:

答案 0 :(得分:3)

尝试以下方面的内容:

    <script>
        $(document).ready(function() {

                $("#latest-tweet").tweet({
                        count: 1,
                        username: ["motocomdigital"],
                        loading_text: "searching twitter..."
                }).bind("loaded", function(){
                        tweetheight = $("#tweet-area").height();
                        $("#sidebar-wrapper").css({ bottom: tweetheight});
                });
        });
    </script>

这在您获得的插件中实现了一个记录不良的调用者,这是在代码运行后调用loaded处理程序。祝你好运!

答案 1 :(得分:2)

seaofclouds插件没有回调,而是有一个loaded事件,当加载推文完成时会触发该事件。

因此以下内容适用于您:

$("#latest-tweet").tweet({
    count: 1,
    username: ["motocomdigital"],
    loading_text: "searching twitter..."
})
.bind("loaded", function() {
    var tweetheight = $("#tweet-area").height();
    $("#sidebar-wrapper").css({ bottom: tweetheight});
});                

答案 2 :(得分:1)

在您阅读的插件的229

$(widget).trigger("loaded")

这会触发您绑定推文的div上的事件loaded。所以你可以做到

$("#latest-tweet").tweet({    
    // options
}).bind("loaded", function(){
    // calc height
});