0

最近在 SOF 的帮助下,我为我的网页编写了简单的滑块。我需要运行一些具有不同设置的滑块。我需要将数组与类构造函数中的设置合并。放置在此处的设置应覆盖默认设置。

我的代码:

var MiniSlider = function(objId, settings)
{
    this.obj = $("#" + objId);
    var self = this;

    self.obj.settings = {
        items: $("ul li", self.obj).length,
        autoChangeTime: 8000,
        animation: 'horizontal'
    };

    if(settings)
    {
        $.merge(self.obj.settings, settings)
    }
    ... rest of the code at link [1]
};

并调用:

new MiniSlider("mini-slider-2", [{animation: 'vertical'}]);

有了这个,我明白了: self.obj.settings 的 Firebug console.log

动画应设置为“垂直”。A也试过:

new MiniSlider("mini-slider-2", {animation: 'vertical'});

这也行不通。任何建议如何合并这个?

4

1 回答 1

1

$.merge 用于数组。你应该使用 $.extend (因为settings是一个对象)

$.extend(self.obj.settings, settings)

和调用

new MiniSlider("mini-slider-2", {animation: 'vertical'});
于 2013-07-06T10:39:25.807 回答