Событие с несколькими ползунками на выходе

#javascript #jquery #html #css

#javascript #jquery #HTML #css

Вопрос:

В принципе, у меня есть один ползунок jQuery. Когда я нажимаю на текстовое поле, отображается div слайдера. Вот мой html-код:

 <div id="menu">
            <ul>
                <li><a href="JavaScript:getLiveTraffic()">Live Traffic Condition</a></li>
                <li><a href="#">Contact Us</a></li>
                <li><a href="#">About Us</a></li>
            </ul>
        </div>
  

И вот динамически созданные html-компоненты, которые были созданы при выборе пункта меню:

 function getLiveTraffic() {

var htmlStr = "<table style='width:100%;font-size:12px;text-align:center;height:90px;'>";
htmlStr  = "<tr><td><input id='timeI' style='width:100px;' onClick='getStartTime();' placeholder='Start Time'></input></td><td><input id='timeII' style='width:100px;' onClick='getEndTime();' placeholder='End Time'></input></td></tr>";

htmlStr  = "<tr><td><div style='display:none;width:120px;padding:5px;margin-left:auto;margin-right:auto;background: linear-gradient(white, #F2F2F2);' id='timePicker'>";
htmlStr  = "<div style='width:120px;margin-bottom:8px;' id='hour'></div>";
htmlStr  = "<div style='width:120px;' id='min'></div>"; 
htmlStr  = "<span id='hourd'>0:</span><span id='mind'>00</span>";
htmlStr  = "</div></td>";

document.getElementById("divGetLiveTraffic").innerHTML = htmlStr;
}
  

Мой JavaScript для вызова getStartTime():

 function getStartTime()
{
    $("#hour").slider({max: 23});
        $("#hour").on("slide", function(event, ui)
        {
            document.getElementById("hourd").innerHTML = ui.value   ":";
            ;
        });
        $("#min").slider({max: 59});
        $("#min").on("slide", function(event, ui)
        {
            document.getElementById("mind").innerHTML = ui.value   "";
            ;
        });
        $("#timeI").click(function(evt) {
            $("#timePicker").show();
        });

}
  

Затем класс span под ползунком изменяет значение при его перемещении. Однако я не уверен, как установить значение во ввод текстового поля.

Кроме того, когда вы закончите выбирать время, сдвинув ползунок, идентификатор времени должен скрываться. Я не уверен, как выполнить событие onMouseOut, потому что есть два ползунка.

Заранее спасибо.

Комментарии:

1. Это не HTML-код. Можете ли вы дать скрипку?

2. Я создаю компонент html динамически как вторую часть этого потока.

Ответ №1:

Вы имеете в виду что-то вроде этого?

 $("#divGetLiveTraffic").on("click", "timeI", function(){
  $(this).val($("#hourd").text()   $("#mind").text());
});

$("divGetLiveTraffic").on("mouseout", "timeI", function(){
  //.........
});
  

Комментарии:

1. К сожалению, оба не работают. Ввод текстового поля продолжает показывать 0:00, хотя я сдвигаю его, и onMouseOut также не работает.

2. Я обновил ответ , и я думаю, что вам нужно использовать javascript bubbling и jquery в api, надеюсь, это вам поможет!

3. Конечно, спасибо за усилия. Я нашел способ решить эту проблему. Большое спасибо!

Ответ №2:

Я не уверен, чего вы на самом деле пытаетесь достичь. Я хотел бы опубликовать ответ на ваши два вопроса.

Чтобы задать значение для ввода в текстовое поле, вы можете сделать это следующим образом:

HTML:

 <input type="text" id="time1">
  

JavaScrit(jQuery):

 $("#time1").val("new value");
  

Документ .val() находится здесь: http://api.jquery.com/val /


И что-то делать, когда мышь выходит из div:

HTML:

 <div id="myarea">
   myarea
</div>
  

JavaScrit(jQuery):

 $( "#myarea" ).mouseout(function() {
  // now mouse is out of 'myarea'
});
  

Документ .mouseout() находится здесь: http://api.jquery.com/mouseout /

Надеюсь, это поможет.

Комментарии:

1. Но у меня есть два ползунка внутри div. Поэтому, когда я переключаюсь с первого на второй ползунок, он выполняет событие onMouseOut. Есть ли какой-либо возможный способ сделать это таким образом: я завершаю перемещение обоих ползунков, затем запускаю событие onMouseOut