Javascript 如何解决这个问题?[]

Javascript 如何解决这个问题?[],javascript,Javascript,出现此问题的原因。我在Hoursdiv中通过 动态。但问题是:-元素添加方式不正确。添加6后 元素,创建的空间 javascript代码:- for(var i=1 ; i<=12; i++) { (function () { var cc=i; if(cc<=9) cc='0'+i; var _id1 = "time"+cc; str1 += "<a id='"+_id1+"

出现此问题的原因。我在Hoursdiv中通过
动态。但问题是:-元素添加方式不正确。添加6后
元素,创建的空间

javascript代码:-

for(var i=1 ; i<=12; i++) {
    (function () {
        var cc=i;

        if(cc<=9)
            cc='0'+i;

        var _id1 = "time"+cc;
        str1 += "<a  id='"+_id1+"' class='hournum a_Cal' >"+cc+"</a>";
    }());
}

嗯,看着你的代码我觉得很脏。
如果您的问题是容器右侧的空间,那么让我解释一下发生了什么

之所以有空格,是因为第6个元素太宽,无法停留在同一“行”上,它会被向下推到下一行。它太宽的原因是因为在css中结合使用了%-宽度和填充,这永远不会有好的结果

插图

我已经构建了一个我认为你希望它看起来如何的例子。 我还稍微清理了一下您的代码;)


|代码 在本例中,我使用绝对值而不是百分比。这样做的好处是,我可以计算出容器所需的确切宽度。
链接的宽度是宽度+填充+边距+边框的总和:

40 + (5*2) + (2*2) + (1*2) = 56 px
我们希望每行有5个链接

因此,容器的宽度必须至少为280px,才能容纳每行5个链接

  • CSS
.hournum{
文字装饰:无;
颜色:黑色;
宽度:40px;
浮动:左;
填充:0px 5px;
文本对齐:居中;
颜色:红色;
边界半径:3px;
边框:1px纯黑;
保证金:2px2px;
}
.集装箱{
位置:绝对位置;
顶部:10px;
左:10px;
宽度:280px;
背景色:白色;
边框:1px实心#6699FF;
填充:2px;
}
  • Javascript
var-str=”“;

对于(var i=1;i请使用更具体的内容编辑标题,并在小提琴上重现此行为->www.jsfiddle.netwhat您的意思是创建了一个空间?您的宽度是6的18%倍,这将是108%,因此在开始换行之前,一行最多只能有5个元素。上述代码的输出是第一行1、2、3和se第二行4 5 6第三行8和第四行9 10 11是这样的。但我想要第一行12第二行4 5 6第三行7 8 9第四行10 11 12的数字,在修复小提琴上无效的css后(你在顶部有一个'u cal'使它无法工作,)每个元素的间隔都是均匀且正确的,没有空格。谢谢ShadowScripter。它正在工作。我只使用了hournum代码部分。它正确地工作了
40 + (5*2) + (2*2) + (1*2) = 56 px
56 * 5 = 280 px
var str = "";

for(var i=1 ; i<=12; i++){
    var cc = i;
    var row

    if(i <= 9) cc = "0" + i

    str += '<a href="#" id="time_'+cc+'" class="hournum">'+cc+"</a>";
 }

document.body.innerHTML = '<div class="container">'+str+"</div>";