Jquery Jquery-UI Range Slider .each(function(){});不能正常缓慢运行

问题描述 投票:0回答:1

我想编写一个jquery函数,该函数查找每个.arti-carousel-ui-slider div并创建一个jquery ui范围滑块。它确实不能很好地工作。第二个滑块对象工作正常,但在第一个滑块中,它没有更改值。

这里是代码:

<div class="column col-xl-6 col-lg-6 col-md-6 col-sm-12"> //PHP Code First Element
<div class="arti-carousel-ui-slider">
<label for="arti_carousel_tab_items_distance">'.__('Distance Carousel-Items', 'arti-carousel').'</label>
<input type="hidden" name="arti_carousel_tab_items_distance" value="'.esc_html(get_post_meta($post->ID, 'arti_carousel_tab_items_distance', true)).'">
<div class="arti-carousel-ui-slider-slidebar" data-value="20" data-max="120" data-step="5"></div>
<p>'.__('The space between the Carousel-Items in px: ', 'arti-carousel').'<span class="slider-value"></span></p>
</div>                                    
</div> 

<div class="column col-xl-6 col-lg-6 col-md-6 col-sm-12"> //PHP Code Second Element
<div class="arti-carousel-ui-slider">
<label for="arti_carousel_tab_formattings_items_headline_fontsize">'.__('Headline Font-Size Carousel Item', 'arti-carousel').'</label>
<input type="hidden" name="arti_carousel_tab_formattings_items_headline_fontsize" value="'.esc_html(get_post_meta($post->ID, 'arti_carousel_tab_formattings_items_headline_fontsize', true)).'">
<div class="arti-carousel-ui-slider-slidebar" data-value="18" data-max="50" data-step="1"></div>
<p>'.__('The Font-Size is set to: ', 'arti-carousel').'<span class="slider-value"></span></p>
</div>
</div>


//JavaScript Code
jQuery(document).ready(function ($) {
var countslide = 0;
 $(".arti-carousel-ui-slider").each(function(){
        countslide = countslide + 1;
        $(this).attr("data-id",countslide);
        $(this).find( '.slider-value' ).attr("data-id",countslide);
        $(this).find('.arti-carousel-ui-slider-slidebar').attr("data-id",countslide);
        $('.arti-carousel-ui-slider-slidebar[data-id='+countslide+']').slider(
            {
                value:$('.arti-carousel-ui-slider-slidebar[data-id='+countslide+']').attr("data-value"),
                min: 0,
                max: $('.arti-carousel-ui-slider-slidebar[data-id='+countslide+']').attr("data-max"),
                step: $('.arti-carousel-ui-slider-slidebar[data-id='+countslide+']').attr("data-step"),
                slide: function( event, ui ) {
                    $( '.slider-value[data-id='+countslide+']' ).html( ui.value+'px' ),
                    $( '.arti-carousel-ui-slider[data-id='+countslide+'] input' ).val(ui.value+'px')
                }
            }
        );
        $(this).find( '.slider-value[data-id='+countslide+']').html(  $('.arti-carousel-ui-slider-slidebar[data-id='+countslide+']').slider('value')+'px' );
    });
});
jquery jquery-ui each rangeslider
1个回答
0
投票

我已经找到解决方法:

$('.arti-carousel-ui-slider-slidebar[data-id='+countslide+']').slider(
        {
            value:$('.arti-carousel-ui-slider-slidebar[data-id='+countslide+']').attr("data-value"),
            min: 0,
            max: $('.arti-carousel-ui-slider-slidebar[data-id='+countslide+']').attr("data-max"),
            step: $('.arti-carousel-ui-slider-slidebar[data-id='+countslide+']').attr("data-step"),
            slide: function( event, ui ) {

                $(this).parent().find('.slider-value').html( ui.value+'px' ),
                $(this).parent().find('input' ).val(ui.value+'px')

            }
        }
    );
© www.soinside.com 2019 - 2024. All rights reserved.