Ползунок диапазона JQuery Ui с подсказками, не принимающими минимальное значение 0

Если вы похожи на меня, когда я впервые начал использовать Java, я хотел использовать оператор «==» для проверки того, были ли два экземпляра String одинаковыми, но к лучшему или худшему это не правильный способ сделать это в Java.

В этом уроке я продемонстрирую несколько разных способов правильно сравнить строки Java, начиная с подхода, который я использую большую часть времени. В конце этого руководства по сопоставлению Java String я также обсужу, почему оператор «==» не работает при сравнении строк Java.

Вариант 1: Сравнение строк Java с методом equals Большая часть (возможно, в 95% случаев). Я сравниваю строки с методом equals класса Java String следующим образом:

if (string1.equals(string2))

Этот метод String равен методу для двух строк Java, и если они содержат точно такую ​​же строку символов, они считаются равными.

Взглянув на быстрый пример сравнения строк с методом equals, если был выполнен следующий тест, две строки не будут считаться равными, поскольку символы не являются точно такими же (случай символов различен):

String string1 = "foo";
String string2 = "FOO";

if (string1.equals(string2))
{
    // this line will not print because the
    // java string equals method returns false:
    System.out.println("The two strings are the same.")
}

Но, когда две строки содержат одну и ту же строку символов, метод equals вернет true, как в этот пример:

String string1 = "foo";
String string2 = "foo";

// test for equality with the java string equals method
if (string1.equals(string2))
{
    // this line WILL print
    System.out.println("The two strings are the same.")
}

Вариант 2: Сравнение строк с методом equalsIgnoreCase

В некоторых строковых сравнительных тестах вы захотите игнорируйте, являются ли строки строчными или строчными. Если вы хотите проверить свои строки на равенство в этом случае нечувствительным образом, используйте метод equalsIgnoreCase класса String, например:

String string1 = "foo";
String string2 = "FOO";

 // java string compare while ignoring case
 if (string1.equalsIgnoreCase(string2))
 {
     // this line WILL print
     System.out.println("Ignoring case, the two strings are the same.")
 }

Вариант 3: сравнение строк Java с методом compareTo

Существует также третий, менее распространенный способ сравнения строк Java, и это с методом сравнения String класса. Если две строки точно совпадают, метод compareTo вернет значение 0 (ноль). Ниже приведен краткий пример того, как выглядит этот метод сравнения строк:

String string1 = "foo bar";
String string2 = "foo bar";

// java string compare example
if (string1.compareTo(string2) == 0)
{
    // this line WILL print
    System.out.println("The two strings are the same.")
}

Пока я пишу об этой концепции равенства в Java, важно отметить, что язык Java включает в себя метод equals в базовый класс Java Object. Всякий раз, когда вы создаете свои собственные объекты, и вы хотите предоставить средства для проверки того, являются ли два экземпляра вашего объекта «равными», вы должны переопределить (и реализовать) этот метод equals в своем классе (точно так же, как язык Java предоставляет это равенство / сравнение в методе String равно).

Вы можете посмотреть на это ==, .equals (), compareTo () и compare ()

0
задан Irfan 13 July 2018 в 11:07
поделиться

2 ответа

Попробуйте использовать следующий скрипт http://jsfiddle.net/jL044k1c/130/

function slide(event, ui) {
    // Allow time for exact positioning
    setTimeout(function () {
        $(ui.handle).attr('title', ui.value).tooltip('fixTitle').tooltip('show');
    }, 0);
}
function create(event, ui, start, end) {
    var handles = $(event.target).find('span');

    handles.eq(0).tooltip({
        animation: false,
        placement: 'top',
        trigger: 'manual',
        container: handles.eq(0),
        title: start
    }).tooltip('show');
    handles.eq(1).tooltip({
        animation: false,
        placement: 'top',
        trigger: 'manual',
        container: handles.eq(1),
        title: end
    }).tooltip('show');
}
$('#slider').slider({
    range: true,
    min: 0,
    max: 100,
    values: [0, 100],
    slide: function (event, ui) {
        slide(event, ui)
    },
    create: function (event, ui) {

        create(event, ui, $(this).slider('values', 0), $(this).slider('values', 1))
    }
});
<div id="slider"></div>
body {
    padding: 100px;
}
.ui-slider-handle {
    outline: none;
}

Но он имеет сбой, поскольку всплывающая подсказка впервые не появляется для значения «0».

0
ответ дан Charu Maheshwari 17 August 2018 в 13:14
поделиться
  • 1
    Я использую ту же скрипту для справки. У нее две проблемы: 1 мин. Значение 0 не появляется, а во-вторых, если вы даете ему свойство шага, оно вычитает столько от максимального значения. – Irfan 13 July 2018 в 11:39
  • 2
    Свойство свойства шага работает нормально по желанию, пожалуйста, проверьте на « jsfiddle.net/jL044k1c/150/" ;. И для min значение 0 не появляется до момента, когда вы его не сдвинули. Используйте слайдер для навигации, тогда вы также сможете увидеть 0. Проблема заключается в том, что вышеприведенная скрипта использует сочетание слайдера jquery-ui и бутстрапа для создания всплывающей подсказки (черный ящик, где отображается диапазон ползунков). поэтому всплывающая подсказка Bootstrap не создается. – Charu Maheshwari 13 July 2018 в 12:00
  • 3
    Проблема в том, что 0 просто не появляется до щелчка. Я хочу, чтобы она была там. Также, если я увеличиваю значение min от 0 до 1, появляется значение min. Второе свойство шага работает только тогда, когда значение min равно 0. Если минимальное значение увеличивается, а затем вы даете свойство шага, вы увидите, как он вычитает столько от максимального значения. – Irfan 13 July 2018 в 12:06

попробуйте использовать этот

$('#slider').slider({
    range: true,
    min: 0,
    max: 100,
    values: [0, 100],
    slide: function (event, ui) {
    slide(event, ui)
 }
0
ответ дан Liam 17 August 2018 в 13:14
поделиться
  • 1
    Это не работает. Вы можете попробовать его на ссылке скрипта. Минимальное значение просто исчезает. – Irfan 13 July 2018 в 10:08
Другие вопросы по тегам:

Похожие вопросы: