【问题标题】:Multiple jquery sliders not taking styles多个 jquery 滑块不采用样式
【发布时间】:2011-08-09 13:55:50
【问题描述】:

我有一个多个 jQuery 滑块并为此编写自定义样式,在我的滑块中,如果一个滑块增加,其他滑块应该减小并为这些滑块编写自定义样式,并且不再采用这些样式。我编写了自定义样式,例如 .slider_class .ui-widget-content {... } 但它采用默认样式 .ui-widget-content {... }

 drawSlider: function(elementId, sliderMax, sliderVal) {    

  $(".slider_class").each(function() {
  $( this ).empty().slider({
        range: "max",
        min: 0,
        max: sliderMax,
        value: sliderVal,
        step: 100,
     slide: function(event, ui) {
        // Update display to current value
        $(this).siblings().text(ui.value);

    var total = 0;

    $(".slider_class").not(this).each(function() {
        total += $(this).slider("option", "value");
    });

    total += ui.value;
    var max = sliderMax - total;
    // Update each slider
    $(".slider_class").not(this).each(function() {

        var t = $(this),
        value = t.slider("option", "value");
        t.slider("option", "max", max + value)
            .siblings().text(value + '/' + (max + value));
        t.slider('value', value);

                  });
     }
});

});


    // code for dynamically displaying the slider 

    $('#account-wrapper-holder').append('<div class="account-wrapper">' +
                        '<h6>' + aName[j] + ':' + aNum[j] + '</h6>' +
                        '<p><span id="text-tot-allocate-value' + aName[j] + aNum[j] + '">Current cash balance: $' + balanceRange[j] + '</span>' +
                        '<span>Total to allocate:<input type="text" id="tot-allocate-value' + aName[j] + aNum[j] + '" value="' + balanceRange[j] + '" onchange="s.setValue(parseInt(this.value))"/></span></p>' +
                        '<div class="slider_class" id="slider-' + aName[j] + aNum[j] + '"></div>' +
                        '<span class="value">0</span><span class="var-account-total-balance" style="float:right;">$0</span></div>'
                    );

                    _this.drawSlider('slider-' + aName[j] + aNum[j] + '', sumOfCurrencyBalances, balanceRange[j]);

【问题讨论】:

    标签: javascript jquery slider


    【解决方案1】:

    我假设你的标记看起来像这样,

    <span class="slider_class ui-widget-content">
       ...
    </span>
    

    在这种情况下,正确的 css 选择器应该是

    .slider_class.ui-widget-content {... }
    

    注意没有空格。

    如果不是这种情况,请发布您的标记。

    已编辑jsFiddle

    【讨论】:

    • @jens,那么我的回答是正确的。尽管请注意,.ui-widget-content 样式仍然适用,但您的自定义样式将优先。
    • 感谢 4 的回复。滑块从满足某些条件的循环中显示。
    • 但在 Firebug 中它显示默认样式 {.ui-widget-content } 即使在标记中它显示
      不,只要有 ui-widget-content 类,样式就会应用。在您的自定义样式中,只需覆盖所有样式。如果这让您感到困惑,请尝试给我一个示例 http://jsfiddle.net/ 来告诉我到底出了什么问题。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签