Javascript 用于显示日期间隔的JQuery滑块
我试图根据滑块位置显示适当的日期。此滑块自动运行到结束,并显示当前日期。所以,问题是当我把它滑回去时,它并没有显示合适的日期。需要帮忙吗 这是完整的代码Javascript 用于显示日期间隔的JQuery滑块,javascript,jquery,Javascript,Jquery,我试图根据滑块位置显示适当的日期。此滑块自动运行到结束,并显示当前日期。所以,问题是当我把它滑回去时,它并没有显示合适的日期。需要帮忙吗 这是完整的代码 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1">
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery UI Slider - Default functionality</title>
<link rel="stylesheet" href="css/jquery-ui.css">
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/jquery-ui.js"></script>
<script>
var i = 1, k = 1;
var isPaused = false;
var eventNum=0;
var inter;
var ar = [];
function startSlider(interval, seconds)
{
var seconds = seconds*1000;
var tmp = interval;
var st = Math.ceil(1000/interval);
inter = setInterval(function()
{
$( "#slider" ).slider(
{
range: "min",
max:1000,
slide: function()
{
if (isPaused)
{
i=$(this).slider("value")+1;
}
else
{
alert("Pause to slide!");
}
}
});
if(!isPaused)
{
if(k%st == 0)
{
setDate(++eventNum);
ar[eventNum] = $("#slider").slider("value");
k = 1;
if (eventNum==interval)
{
clearInterval(inter);
while(i!=1000){
$("#slider").slider("value",i++);
}
}
}
k++;
$("#slider").slider("value",i++);
}
},seconds/st);
}
function pause(){
isPaused = true;
}
function play(){
clearInterval(inter);
var d1 = document.getElementById("date1").value;
document.getElementById("date").value = d1;
startSlider(dateDifference(), document.getElementById("time").value);
isPaused = false;
}
function stop(){
eventNum = 0;
i = 0;
clearInterval(inter);
var d1 = document.getElementById("date1").value;
document.getElementById("date").value = d1;
$("#slider").slider("value",0);
}
function set(){
i=$("#slider").slider("value")+1;
$("#slider").slider("value",i++);
}
function dateDifference(){
var d1 = new Date(document.getElementById("date1").value);
var d2 = new Date(document.getElementById("date2").value);
var timeDiff = Math.abs(d2.getTime() - d1.getTime());
return difDays = Math.ceil(timeDiff/(1000*3600*24));
}
function setDate(n){
var d1 = new Date(document.getElementById("date1").value);
d1.setDate(d1.getDate() + n);
var d2 = d1.toISOString().substr(0,10);
document.getElementById("date").value = d2;
}
$(function() {
$("#date1").on("change",function(){
var selected = $(this).val();
document.getElementById("date2").setAttribute("min",selected);
});
});
$("slider").mouseup(function(){
$(this).after("Mouse button released.");
});
</script>
</head>
<body>
<div>
<label for="from">From</label>
<input type="date" name="date1" id="date1" >
<label for="to">to</label>
<input type="date" name="date2" id="date2" min="">
<label for="time">Time</label>
<input type="text" name="time" id="time">
<input type="text" name="date" id="date">
</div>
<br>
<div id="slider" ></div>
<br>
<button onclick="pause()">pause</button>
<button onclick="play()">play</button>
<button onclick="stop()">stop</button>
</body>
</html>
jQuery UI滑块-默认功能
变量i=1,k=1;
var isPaused=假;
var-eventNum=0;
var-inter;
var-ar=[];
功能启动滑块(间隔,秒)
{
var秒=秒*1000;
var tmp=区间;
var st=数学单元(1000/区间);
inter=setInterval(函数()
{
$(“#滑块”).滑块(
{
射程:“分钟”,
最高:1000,
幻灯片:函数()
{
如果(i暂停)
{
i=$(此).slider(“值”)+1;
}
其他的
{
警报(“暂停幻灯片!”);
}
}
});
如果(!i暂停)
{
如果(k%st==0)
{
setDate(++eventNum);
ar[eventNum]=$(“#滑块”).滑块(“值”);
k=1;
if(eventNum==间隔)
{
间隔时间;
而(i!=1000){
$(“#slider”).slider(“value”,i++);
}
}
}
k++;
$(“#slider”).slider(“value”,i++);
}
},秒/时);
}
函数暂停(){
isPaused=真;
}
函数播放(){
间隔时间;
var d1=document.getElementById(“date1”).value;
document.getElementById(“日期”).value=d1;
startSlider(dateDifference(),document.getElementById(“time”).value);
isPaused=false;
}
函数stop(){
eventNum=0;
i=0;
间隔时间;
var d1=document.getElementById(“date1”).value;
document.getElementById(“日期”).value=d1;
$(“#滑块”)。滑块(“值”,0);
}
函数集(){
i=$(“#滑块”)。滑块(“值”)+1;
$(“#slider”).slider(“value”,i++);
}
函数dateDifference(){
var d1=新日期(document.getElementById(“date1”).value);
var d2=新日期(document.getElementById(“date2”).value);
var-timeDiff=Math.abs(d2.getTime()-d1.getTime());
return difDays=Math.ceil(timeDiff/(1000*3600*24));
}
函数设置日期(n){
var d1=新日期(document.getElementById(“date1”).value);
d1.setDate(d1.getDate()+n);
var d2=d1.toISOString().substr(0,10);
document.getElementById(“日期”).value=d2;
}
$(函数(){
$(“#date1”)。关于(“更改”,函数(){
所选变量=$(this.val();
document.getElementById(“date2”).setAttribute(“min”,选中);
});
});
$(“滑块”).mouseup(函数(){
$(此).after(“鼠标按钮释放”);
});
从…起
到
时间
暂停
玩
停止
任何相关的html
来复制问题吗?我已经将代码编辑得更好了,请做一个简单的修改。