我在jQuery中创建了一个函数,它允许我创建一个灯箱,如下所示:

var lightbox = create_lightbox(params);

我想扩展这个功能,所以我可以添加自定义css,使它看起来像在任何给定的情况下的感觉。 我希望能够做到这一点:

    lightbox.css = {
    "background-color" : "red",
    etc...

}

什么是最好的方法,我将如何迭代我的函数内的CSS元素?

tyvm

===============>>#1 票数:1 已采纳

创建函数以获取一个对象,其中包含要添加到灯箱的css属性中的所有值,然后使用jQuery的extend添加默认值。

function create_lightbox(params, css){
    css = $.extend({ "background-color": "default val"}, css);

    lightbox.css = css;
}

如果你真的想要遍历css中的所有属性,你可以使用for循环

function create_lightbox (params, css) {
   css = $.extend({ "background-color": "default val"}, css);

   for (cssKey in css)
     lightbox.css[cssKey] = css[cssKey];
}

===============>>#2 票数:1

只需使用CSS,因为应该使用CSS:在<style> -tag或链接的.css文件中。 lightbox插件使用以下dom树;

<div id="jquery-lightbox">
    <div id="lightbox-container-image-box">
        <div id="lightbox-container-image">
            <img id="lightbox-image" />
            <div id="lightbox-nav">...</div>
        </div>
    </div>
</div>

那么你想要风格的风格。 我想你不想在每个盒子上使用不同的款式?

===============>>#3 票数:0

您可以向灯箱类添加元素属性,以便可以从构造函数中修改值:

function lightbox() {
    this.element = document.ccreateElement("div")
    this.light = "light";
    this.box = "box";
}

var newLightBox = new lightbox();
newLightBox.element.style.background = "#000";

  ask by vincent translate from so

未解决问题?本站智能推荐: