【发布时间】:2022-09-28 02:54:36
【问题描述】:
我有表格和 td,上面有数字作为 div 我想在所有 div 上方添加一个 div,高度在匹配的日期数字之间,例如 div 应该从 700 开始,到 800 结束在它下面的 div 之上。我使用下面的代码,但它在它们之间添加。
var htmlString = \'<div class=\"stack-top \' + cssclass + \"><div class=\"mydivinside\"><span class=\"stitle\">\' + title + \'</span><br/><span>\' + setime + \'</span></div></div>\',
div = document.createElement(\'div\'),
div1 = document.querySelector(\"div[data-day=\" + dateoffset + \"\'][date-tnumber=\" + ehour + \"\']\");
div.innerHTML = htmlString;
div1.parentNode.insertBefore(div.firstChild, div1.nextSibling);
<td class=\"md\" data-date=\"10/24/2022\" data-day=\"0\">
<div data-day=\"0\" date-tnumber=\"700\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"701\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"702\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"703\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"704\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"705\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"706\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"707\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"708\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"709\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"710\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"711\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"712\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"713\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"714\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"715\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"716\" onclick=\"GetData(this);\"></div>
<div data-day=\"0\" date-tnumber=\"717\" onclick=\"GetData(this);\"></div>
</td>
CSS
.stack-top{ z-index: 9999; vertical-align:middle; width: 80%; position: relative;}
-
从编程的角度来看,在需要之前不要创建对象。没有理由为每 1 小时行创建 60 个“分钟”对象,然后尝试导航约会应该出现的位置。对于每个小时,您应该检索指定,按时间排序,然后按顺序创建和插入它们。
-
我这样做了,但它没有显示约会之间的真正差距。
-
从视觉上看,这可以通过将约会对象绝对定位在某个计算的
top上来表示,该位置基于 1 小时行块内相对定位的容器 div 的高度。为了简单的计算,假设行的高度设置为height:120px。根据您上面的图片,早上 7 点的约会位于top:0px,并且约会对象的高度应计算为设置为每分钟 2 像素。