jQuery Sliders,如何从jQuery('。slider')中排除1个滑块。每个(function()

时间:2012-02-28 21:23:59

标签: jquery slider each

我有3个滑块用于计算在线使用的MB数。总MB被转换为GB,并创建并调整总滑块以反映总数。我正在使用jQuery('.strip')。每个(function()找到每个滑块的MB然后增加总数。但是,我有1个滑块我不想包含在每个函数中,我可以从.each函数中排除1个滑块吗?

我如何创建滑块:

// create the sliders and delegate properties.

  jQuery('#wifi-sl').slider({ min: 0, max: 250,  animate: true, range: 'min', step: 10,
    slide: function (ev, ui) {
     jQuery('#wifi-value').html(ui.value + ' %');
     determineWifi;
    },
    change: function (ev, ui) {
     jQuery('#wifi-value').html(ui.value + ' %');
     determineWifi;
    }
  });

  jQuery('#email-sl').slider({ min: 0, max: 250,  animate: true, range: 'min', step: 10,
    slide: function (ev, ui) {
     jQuery('#email-value').html(ui.value + ' emails');

     determineData();
    },
    change: function (ev, ui) {
     jQuery('#email-value').html(ui.value + ' emails');

     determineData();
    }
  });

  jQuery('#email-sl').slider({ min: 0, max: 250,  animate: true, range: 'min', step: 10,
    slide: function (ev, ui) {
     jQuery('#email-value').html(ui.value + ' emails');
     slider_id='email-sl';
     determineData();
    },
    change: function (ev, ui) {
     jQuery('#email-value').html(ui.value + ' emails');
     slider_id='email-sl';
     determineData();
    }
  });

我不希望在下面的每个函数中计算顶部(第一个)滑块,我该如何排除它?

function determineData() {

  total_data_mb = 0.00;

  jQuery('.slider').each(function() {
    var this_data = Math.round( jQuery(this).slider('option', 'value') * jQuery(this).data('data')['units'] * jQuery(this).siblings('.per-select').val() * 100) / 100;
    jQuery(this).siblings('.slider-data').html(this_data + ' MB');
    total_data_mb += this_data;
  });

  total_data_gb = (Math.round( (total_data_mb / 1024) * 100) / 100).toFixed(2);

3 个答案:

答案 0 :(得分:3)

您可以将其排除,

jQuery('.slider').not('#wifi-sl').each(...);

或一般情况

jQuery('.slider').slice(1).each(...);

答案 1 :(得分:0)

您可以将:not选择器与:first选择器

结合使用
    jQuery('.slider:not(:first)').each(function(){
      /* your code */
    });

另一个选项是sibling selector

    jQuery('#wifi-sl ~ .slider').each(function(){
      /* your code */
    });

答案 2 :(得分:0)

$('.slider:gt(0)').each(.......

抓住滑块类并从索引1开始