Использование jquery UI Range Slider - PullRequest
0 голосов
/ 05 июня 2011

Я использую ползунок диапазона jquery UI на своем сайте, мне нужно создать функцию для случая, когда пользователь увеличивает диапазон, и другую функцию, когда пользователь уменьшает диапазон, как я могу это сделать?1002 *

function createRangeSliderOutOfIframe(kinorid) {
//alert("in edit");
var addRangeSlider = '<div class="rangeSlider"><p><label for="amount' + kinorid + '">Increase Range of Selection:</label></p><div id="slider-range' + kinorid + '"></div>'; //Jquery UI slider
$('#trackingInfo').append(addRangeSlider);
//$("#slider-range" + kinorid, window.parent.document).show();
var count = 0;
var result = $(this).parent();
var i;
$("#slider-range" + kinorid).slider({
    animate: true,
    step: 1,
    min: 0,
    max: 10,
    value: 5,

    change: function (event, ui) {
        var currentValue = ui.value;
        alert(currentValue + "original");
        var value = $("#slider-range" + kinorid).slider("option", "value");
        alert(value+"new");
        if (ui.value >= 5) {
            //if (!$(getSelectionParentElement).parent().prev().hasClass('kSelectedA') || !$(getSelectionParentElement).children().next().hasClass('rangeSlider')) {
            alert(count);
            var add = '<span class="kSelectedA">Link</span>';

            $("#myFrame").contents().find('*').each(function () {
                if ($(this).attr('kinorid') == kinorid) {
                    //alert("change");
                    if (count == 0) {
                        $(result).parent().before(add);
                        count += 1;
                    }
                    else if (count <= 5 && count != 0) {
                        result = $(this).parent();
                        for (i = 0; i < count; i++) {
                            result = $(result).parent();
                            //test += 1;
                        }
                        $(result).parent().before(add);
                        count += 1;
                        $('#trackingInfo').append('The range of the selection was increased<br/> ');
                        alert(count);
                    }

                }
            });

        }
        if (ui.value < 5) {
            //if (!$(getSelectionParentElement).parent().prev().hasClass('kSelectedA') || !$(getSelectionParentElement).children().next().hasClass('rangeSlider')) {
            count -= 1;
            alert("in if out");
            if ($(result).children().hasClass('kSelectedA')) {
                alert("in if");
                $(result + '.kSelectedA').remove();
            }
            //alert("second if");
            //$('.kSelectedA').remove();
        }

    }
});
/* $("#amount" + cId, window.parent.document).val($("#slider-range" + cId, window.parent.document).slider("values", 0) +
" - " + $("#slider-range" + cId, window.parent.document).slider("values", 1));*/

}

Ответы [ 2 ]

1 голос
/ 05 июня 2011

Взято с сайта пользовательского интерфейса jQuery:

Это событие вызывается при каждом движении мыши во время слайда.Используйте ui.value (ползунки с одной ручкой) для получения значения текущего дескриптора, $ (..). Slider ('value', index), чтобы получить значение другого дескриптора.

Вернуть false в порядкечтобы предотвратить слайд, на основе ui.value.

Примеры кода

Предоставить функцию обратного вызова для обработки события слайда в качестве опции инициализации.

$( ".selector" ).slider({
   slide: function(event, ui) { ... }
});
Bind to the slide event by type: slide.
$( ".selector" ).bind( "slide", function(event, ui) {
  ...
});
0 голосов
/ 05 июня 2011

используйте событие изменения , предоставленное для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...