javascript - 如何将元素添加到一个 div 中,直到它的宽度几乎等于另一个 div?

标签 javascript jquery

我有 2 个容器,一个在另一个容器中,我试图用 document.ready 上的元素填充内部容器,因此它的宽度几乎等于外部的 div 宽度。

它与 window.resize 上的“if”语句完美配合,但由于我需要在 document.ready 上填充 div,所以我尝试使用“while”但它不起作用。为什么?

这是 HTML:

<style>
    #outer {float: left; width: 500px; background: grey}
    #inner {float: left; width: auto;}
    li {float: left; margin: 0 10px}
</style>


<div id="outer">
    <ul id="inner">
        <li></li>
        <li></li>
        <li></li>
    </ul>
</div>

...和 ​​JS:

function width_check() {
    var ddd = $("#outer").width() - $("#inner").width();
    var sss = 0;

    if (ddd > 100) {
        sss = 1;
    } else { sss = 0 };}​


$(document).ready function() {
    width_check();

    while (sss = 1) {
        $("#inner").append('<li></li>');
        width_check();
                    }        }

最佳答案

我认为你这里有范围问题。

您有一个定义了 var sss = 0 的函数。但是 $(document).ready 的检查有它自己的 sss。 sss 在此函数中未定义。尝试类似的东西:

function width_check()
{
    var ddd = $("#outer").width() - $("#inner").width();
    return ddd > 100;
}​


$(document).ready( function() // check the extra brackets around the function.
{
    while(width_check()) // check the width every time
    {
        $("#inner").append('<li></li>');
    }       
});

关于javascript - 如何将元素添加到一个 div 中,直到它的宽度几乎等于另一个 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4851410/

相关文章:

javascript - 将 jQuery UI Timepicker 插件与 React 结合使用

javascript - 如何从数据表中的多个页面传递选中复选框的值

javascript - 如何使用 jquery 和 ajax 读取、解析和显示 xml

javascript - Moment.js 夏令时转换

javascript - Safari 5 中奇怪的 javascript 表单提交错误的解决方法是什么?

javascript - 动态调用extjs类中的函数

javascript - ajax不调用成功或错误函数

javascript - 更改 JavaScript 中的日期格式

jquery - 在页面加载时滚动到特定的 div

javascript - promise 链示例不起作用