我想在条件为真之前在另一个元素中创建元素。 我试过这段代码,但它没有用。
// calculate span size and it's parent
var homeHeight = $(".home").height();
var homeWidth = $(".home").width();
var homeSize = (homeHeight + homeWidth) * 2;
var spanHeight = $(".back-animation span").height();
var spanWidth = $(".back-animation span").width();
var spanSize = (spanHeight + spanWidth) * 2;
// create span elements to fill it's parent.
var createSpan = function() {
var span = document.createElement("span");
while (spanSize <= homeSize) {
$(".animation-hide-overflow").append(span);
spanSize = spanSize + spanSize;
}
};
createSpan();
注意:它与JQuery结合使用,我在控制台中没有收到任何错误。 注2:我尝试像底部一样循环,但它也没有工作。
for (spanSize; spanSize <= homeSize; spanSize = spanSize + spanSize) {
$(".animation-hide-overflow").append(span);
}
修改 谢谢提,我忘了调用createSpan函数!现在它正在工作但它只创造一次跨度。任何解决方案?
jsfiddle以获得更好的演示: http://jsfiddle.net/pooria_h/vqmgmyj0/1/ (它应该继续创建span元素,直到它填满父元素。)
答案 0 :(得分:0)
问题在于本节
// create span elements to fill it's parent.
var createSpan = function() {
var span = document.createElement("span");
while (spanSize <= homeSize) {
$(".animation-hide-overflow").append(span);
spanSize = spanSize + spanSize;
}
}
如果你多加注意,你可以看到我在循环之外创建了 span变量,所以这就是:Loop正常工作并增加 spanSize 变量直到它等于 homeSize 变量,该变量在起点较大但是最大的问题是没有元素创建!在循环之前创建 span元素。 所以这是正确的方法:
// create span elements to fill it's parent.
var createSpan = function() {
while (spanSize <= homeSize) {
var span = document.createElement("span");
$(".animation-hide-overflow").append(span);
spanSize = spanSize + spanSize;
}
}