【问题标题】:Dynamically repeat/tile div and child(s)?动态重复/平铺 div 和子级?
【发布时间】:2012-12-02 00:38:30
【问题描述】:

我一直在这里和 Google 上进行一些搜索,但我似乎无法找到完全符合我想要做的事情的答案。我有一个带有一些文本的 div,它通过在鼠标悬停时转换到不同的背景图像来产生淡入淡出效果。我想要做的是动态平铺/重复相同的 div,以便它填充整个主体(或父 div)。有点像使用 background-repeat:repeat 但使用 div 而不是背景图像。我想看看当整个页面的元素在鼠标移动时淡入淡出,我可以实现什么样的炫酷视觉效果。

当然,我可以在代码中多次复制和粘贴相同的 div,但必须有更好的解决方案。我认为需要 javascript,但我能找到的关于克隆 div 的唯一事情看起来有点过头了,我想知道是否有更简单的解决方案。

我作为示例使用的 CSS 和 HTML 来自我正在处理的网站上的菜单链接。这可能不是最好的例子,但我对 CSS 有点陌生。基本上我想将下面的 div 平铺在整个页面上。

这是css:

#fadediv {
    background-image:url(images/buttonback.png);
    transition: background-image 0.5s linear;
    -moz-transition: background-image 0.5s linear;
    -webkit-transition: background-image 0.5s linear;
}

#fadediv:hover {
    background-image:url(images/buttonback2.jpg);
}

.fadedivtext {
    display:block;
    width:320px;
    height:138px;
    float:left;
    font-size:30px;
    color:#FFF;
    text-align:center;
    line-height:138px;
}

还有 HTML sn-p:

<div id="fadediv" class="fadedivtext">about me</div>

编辑:除了下面给出的 javascript 示例之外,似乎还有一个 PHP 示例 here 可以工作。

【问题讨论】:

    标签: javascript css repeat


    【解决方案1】:

    我认为 clone 应该很适合你——它并不复杂,尤其是当你谈论一个基本的 div 时。只需确保以类而不是 ID 为目标(您不应该有多个具有相同 ID 的元素)。

    这是一个使用 JQuery 的clone 的基本示例:

    var numberOfClones = 20;
    var el = $("#fadediv");
    for (i=0 ; i<numberOfClones ; i++) {
        var newEl = el.clone();
        $("#container").append(newEl);
    }​
    

    http://jsfiddle.net/9P7bY/2/


    编辑

    这是aug留下的评论:

    或者,如果您出于某种原因想为每个克隆提供一个唯一的 id,您可以访问属性字段并将 id 更改为其他内容

    newE1.attr("id", newId);
    

    【讨论】:

    • 哇,谢谢!这看起来几乎正是我想要的。也感谢您的示例,我发现克隆的用法令人困惑,但我认为我可以使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 2021-04-20
    • 2015-03-10
    • 1970-01-01
    相关资源
    最近更新 更多