我有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);
答案 0 :(得分:3)
您可以将其排除,
jQuery('.slider').not('#wifi-sl').each(...);
或一般情况
jQuery('.slider').slice(1).each(...);
答案 1 :(得分:0)
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开始