#jquery
#jquery
Вопрос:
У меня есть 2 ползунка jQuery, и я хочу сделать что-то вроде этого:
if 1st slider value = 5 and 2nd slider value = 10 then
print some text
else if (other values) then
print other text
Но это не работает ни с переключателем, ни с инструкцией if-else .
Мой HTML
<div class="wrapper ui-widget-content">
<div id="wo"></div>
<div id="w" class="weight"></div>
<p class="slider-title">Rider Weight</p>
<div id="io"></div>
<div id="inc" class="incline"></div>
<p class="slider-title">Incline</p>
<div id="m" class="miles"></div>
</div>
Мой JavaScript
var weight = $('#w');
var incline = $('#inc');
var miles = $('#m');
$(function () {
$(weight).slider({
animate: "slow",
max: 250,
mix: 75,
step: 25,
range: 'min',
change: function( event, ui ) {
$('#wo').html(ui.value);
}
});
$(incline).slider({
animate: "slow",
max: 20,
mix: 0,
step: 5,
range: 'min',
change: function( event, ui ) {
$('#io').html(ui.value);
}
});
switch (miles) {
case $(weight).slider("value", 100) amp;amp; $(incline).slider("value", 15):
$(miles).html("100 to 15");
break;
case $(weight).slider("value", 75) amp;amp; $(incline).slider("value", 5):
$(miles).html("75 to 5");
default:
$(miles).html("nothing");
}
});
Комментарии:
1. Это
switch
полное дерьмо, так как вы, вероятно, не понимаете, что такоеswitch
четный. Я рекомендую вам использовать операторы if-else .2. да, теперь я понял … else-если сработало для меня.
Ответ №1:
Во-первых, это не так, как switch
работает. Здесь вам понадобится if
/ else if
.
Во-вторых, $(weight).slider("value", 100)
присваивается значение 100
ползунку.
Вместо этого вам нужен этот формат:
weight.slider('value') == 100
В-третьих, вы, вероятно, захотите выполнять обновление при каждом изменении каждого ползунка.
Ответ №2:
$(weight).slider({
animate: "slow",
max: 250,
mix: 75,
step: 25,
range: 'min',
change: function( event, ui ) {
$('#wo').html(ui.value);
showDisplay();
}
});
$(incline).slider({
animate: "slow",
max: 20,
mix: 0,
step: 5,
range: 'min',
change: function( event, ui ) {
$('#io').html(ui.value);
showDisplay();
}
});
function showDisplay(){
switch (miles) {
case $(weight).slider("value", 100) amp;amp; $(incline).slider("value", 15):
$(miles).html("100 to 15");
break;
case $(weight).slider("value", 75) amp;amp; $(incline).slider("value", 5):
$(miles).html("75 to 5");
default:
$(miles).html("nothing");
}
}
попробуйте это.