求解:一份倒计时的JS与jquery.SuperSlide.js冲突 由于jquery.SuperSlide.2.1.1.js文件字节过多,超过了论坛设置的上限,还麻烦前辈们移步到superslide2下载啊,万分感谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 冲突就把他包在一个自执行函数里边。(function($){ var hiddentiem=$("<input type=\"hidden\" id=\"hdstarttime\"/>"); $(hiddentiem).prependTo("body"); //倒数时间详细页面 function showTime(overdata, showObjId, isStart) { var arr = overdata.split(" "); var arr1 = arr[0].split("-"); var arr2 = arr[1].split(":"); var endData = new Date(arr1[0], (Number(arr1[1]) - 1), arr1[2], arr2[0], arr2[1], arr2[2]); // 剩余总秒 var total = (endData - new Date()) / 1000; if (parseInt(total) <= 0) { $("#" + showObjId).text("团购已经结束,可以继续购买"); clearInterval(showTime); return; } // 计算时间 var day = parseInt(total / 86400); //var hour = parseInt(total / 3600); var hour = parseInt(total % 86400 / 3600); var min = parseInt((total % 3600) / 60); var sec = parseInt((total % 3600) % 60); if (hour.toString().length == 1) hour = "0" + hour; if (min.toString().length == 1) min = "0" + min; if (sec.toString().length == 1) sec = "0" + sec; var showTime ="<strong>"+day + "</strong>天<strong>" + hour + "</strong>时<strong>" + min + "</strong>分<strong>" + sec + "</strong>秒"; // 显示 if (isStart == "1") $("#" + showObjId).html(showTime); else $("#" + showObjId).html("即将开始"); } //倒数时间列表页面 function showTimeList(overdata, showObjId, isStart,nowDate) { var arr = overdata.split(" "); var arr1 = arr[0].split("-"); var arr2 = arr[1].split(":"); var endData = new Date(arr1[0], (Number(arr1[1]) - 1), arr1[2], arr2[0], arr2[1], arr2[2]); var newDate=endData; if ($("#" + showObjId).text()==""||$("#" + showObjId).text()==null) { newDate = new Date(getServerTime()); } if ($("#" + showObjId).html() != "" && $("#" + showObjId+" strong").length==4) { var d1 = $("#" + showObjId + " strong:eq(0)").text(); var h = $("#" + showObjId + " strong:eq(1)").text(); var m = $("#" + showObjId + " strong:eq(2)").text(); var s = $("#" + showObjId + " strong:eq(3)").text(); var sb = parseInt(d1 * 86400 +h * 3600 + m * 60)+ parseInt(s); newDate =endData - (sb - 1)*1000; } // 剩余总秒 var total = (endData - newDate) / 1000; if (parseInt(total) <=0) { $("#" + showObjId).text("团购已经结束"); return; } // 计算时间 var day = parseInt(total / 86400); var hour = parseInt(total % 86400 / 3600); var min = parseInt((total % 3600) / 60); var sec = parseInt((total % 3600) % 60); if (hour.toString().length == 1) hour = "0" + hour; if (min.toString().length == 1) min = "0" + min; if (sec.toString().length == 1) sec = "0" + sec; var showTime ="<strong>"+day + "</strong>天<strong>" + hour + "</strong>时<strong>" + min + "</strong>分<strong>" + sec + "</strong>秒"; // 显示 if (isStart == "1") $("#" + showObjId).html(showTime); else $("#" + showObjId).html("团购即将开始"); } function getServerTime() { var nowtime = $("#hdstarttime").val()-0; if(nowtime==""||nowtime==null||nowtime=="undefined"){ var xmlHttp = false; //获取服务器时间 try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { xmlHttp = false; } } if (!xmlHttp && typeof XMLHttpRequest != 'undefined') { xmlHttp = new XMLHttpRequest(); } xmlHttp.open("GET", "null.txt", false); xmlHttp.setRequestHeader("Range", "bytes=-1"); xmlHttp.send(null); severtime=new Date(xmlHttp.getResponseHeader("Date")); nowtime = severtime.getTime(); $("#hdstarttime").val(nowtime); } return nowtime; }}(jQuery)) 按您给的方法,包裹在自执行函数里边里边(function($){}(jQuery))但是倒计时却不显示了 不显示,或者把supler包起来试试,或者这样,把方法名称绑定给window.<!doctype html><html lang="en-US"><head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.js"></script></head><body><script type="text/javascript"> (function(window,$){ var hiddentiem=$("<input type=\"hidden\" id=\"hdstarttime\"/>"); $(hiddentiem).prependTo("body"); //倒数时间详细页面 function showTime(overdata, showObjId, isStart) { var arr = overdata.split(" "); var arr1 = arr[0].split("-"); var arr2 = arr[1].split(":"); var endData = new Date(arr1[0], (Number(arr1[1]) - 1), arr1[2], arr2[0], arr2[1], arr2[2]); // 剩余总秒 var total = (endData - new Date()) / 1000; if (parseInt(total) <= 0) { $("#" + showObjId).text("团购已经结束,可以继续购买"); clearInterval(showTime); return; } // 计算时间 var day = parseInt(total / 86400); //var hour = parseInt(total / 3600); var hour = parseInt(total % 86400 / 3600); var min = parseInt((total % 3600) / 60); var sec = parseInt((total % 3600) % 60); if (hour.toString().length == 1) hour = "0" + hour; if (min.toString().length == 1) min = "0" + min; if (sec.toString().length == 1) sec = "0" + sec; var showTime ="<strong>"+day + "</strong>天<strong>" + hour + "</strong>时<strong>" + min + "</strong>分<strong>" + sec + "</strong>秒"; // 显示 if (isStart == "1") $("#" + showObjId).html(showTime); else $("#" + showObjId).html("即将开始"); } window.showTime=showTime; //倒数时间列表页面 function showTimeList(overdata, showObjId, isStart,nowDate) { var arr = overdata.split(" "); var arr1 = arr[0].split("-"); var arr2 = arr[1].split(":"); var endData = new Date(arr1[0], (Number(arr1[1]) - 1), arr1[2], arr2[0], arr2[1], arr2[2]); var newDate=endData; if ($("#" + showObjId).text()==""||$("#" + showObjId).text()==null) { newDate = new Date(getServerTime()); } if ($("#" + showObjId).html() != "" && $("#" + showObjId+" strong").length==4) { var d1 = $("#" + showObjId + " strong:eq(0)").text(); var h = $("#" + showObjId + " strong:eq(1)").text(); var m = $("#" + showObjId + " strong:eq(2)").text(); var s = $("#" + showObjId + " strong:eq(3)").text(); var sb = parseInt(d1 * 86400 +h * 3600 + m * 60)+ parseInt(s); newDate =endData - (sb - 1)*1000; } // 剩余总秒 var total = (endData - newDate) / 1000; if (parseInt(total) <=0) { $("#" + showObjId).text("团购已经结束"); return; } // 计算时间 var day = parseInt(total / 86400); var hour = parseInt(total % 86400 / 3600); var min = parseInt((total % 3600) / 60); var sec = parseInt((total % 3600) % 60); if (hour.toString().length == 1) hour = "0" + hour; if (min.toString().length == 1) min = "0" + min; if (sec.toString().length == 1) sec = "0" + sec; var showTime ="<strong>"+day + "</strong>天<strong>" + hour + "</strong>时<strong>" + min + "</strong>分<strong>" + sec + "</strong>秒"; // 显示 if (isStart == "1") $("#" + showObjId).html(showTime); else $("#" + showObjId).html("团购即将开始"); } window.showTimeList=showTimeList; function getServerTime() { var nowtime = $("#hdstarttime").val()-0; if(nowtime==""||nowtime==null||nowtime=="undefined"){ var xmlHttp = false; //获取服务器时间 try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { xmlHttp = false; } } if (!xmlHttp && typeof XMLHttpRequest != 'undefined') { xmlHttp = new XMLHttpRequest(); } xmlHttp.open("GET", "null.txt", false); xmlHttp.setRequestHeader("Range", "bytes=-1"); xmlHttp.send(null); severtime=new Date(xmlHttp.getResponseHeader("Date")); nowtime = severtime.getTime(); $("#hdstarttime").val(nowtime); } return nowtime; } window.getServerTime=getServerTime; }(window,jQuery))</script></body></html> 还是不行,仍然是一次跳2秒。首先本身这一份倒计时的JS是没问题的,因为如果用在其他页面,是能正常1秒1秒倒计时。但就是和jquery.SuperSlide.2.1.1.js放在同一页面下,就出问题 网上视频教学的网站,怎么记录播放进度,怎么判断本节视频是否播放完毕? jquery如何设置DOM的宽和高? 调用头文件的时候出错了,下面body部分往上移了一点 怎样在网页在线查询股票名称 jsp问题 地区级联 我在父模态窗口里再打开了子模态窗口,但怎么我关闭子窗口会顺便把父窗口也关闭了的? 请问innerHTML为什么不能插入<style></style>?? 在离开当前页面和关闭当前窗口前 JavaScript的一些小问题! 求大侠来帮忙解密~~~~~ 怎么实现dreamweaver添加热点的功能
var hiddentiem=$("<input type=\"hidden\" id=\"hdstarttime\"/>");
$(hiddentiem).prependTo("body");
//倒数时间详细页面
function showTime(overdata, showObjId, isStart) {
var arr = overdata.split(" ");
var arr1 = arr[0].split("-");
var arr2 = arr[1].split(":");
var endData = new Date(arr1[0], (Number(arr1[1]) - 1), arr1[2], arr2[0], arr2[1], arr2[2]); // 剩余总秒
var total = (endData - new Date()) / 1000;
if (parseInt(total) <= 0) {
$("#" + showObjId).text("团购已经结束,可以继续购买");
clearInterval(showTime);
return;
}
// 计算时间
var day = parseInt(total / 86400);
//var hour = parseInt(total / 3600);
var hour = parseInt(total % 86400 / 3600);
var min = parseInt((total % 3600) / 60);
var sec = parseInt((total % 3600) % 60); if (hour.toString().length == 1)
hour = "0" + hour;
if (min.toString().length == 1)
min = "0" + min;
if (sec.toString().length == 1)
sec = "0" + sec;
var showTime ="<strong>"+day + "</strong>天<strong>" + hour + "</strong>时<strong>" + min + "</strong>分<strong>" + sec + "</strong>秒"; // 显示
if (isStart == "1")
$("#" + showObjId).html(showTime);
else
$("#" + showObjId).html("即将开始");
}
//倒数时间列表页面
function showTimeList(overdata, showObjId, isStart,nowDate) { var arr = overdata.split(" ");
var arr1 = arr[0].split("-");
var arr2 = arr[1].split(":");
var endData = new Date(arr1[0], (Number(arr1[1]) - 1), arr1[2], arr2[0], arr2[1], arr2[2]);
var newDate=endData;
if ($("#" + showObjId).text()==""||$("#" + showObjId).text()==null) {
newDate = new Date(getServerTime());
} if ($("#" + showObjId).html() != "" && $("#" + showObjId+" strong").length==4) {
var d1 = $("#" + showObjId + " strong:eq(0)").text();
var h = $("#" + showObjId + " strong:eq(1)").text();
var m = $("#" + showObjId + " strong:eq(2)").text();
var s = $("#" + showObjId + " strong:eq(3)").text(); var sb = parseInt(d1 * 86400 +h * 3600 + m * 60)+ parseInt(s); newDate =endData - (sb - 1)*1000;
} // 剩余总秒
var total = (endData - newDate) / 1000; if (parseInt(total) <=0) {
$("#" + showObjId).text("团购已经结束");
return;
} // 计算时间
var day = parseInt(total / 86400);
var hour = parseInt(total % 86400 / 3600);
var min = parseInt((total % 3600) / 60);
var sec = parseInt((total % 3600) % 60); if (hour.toString().length == 1)
hour = "0" + hour;
if (min.toString().length == 1)
min = "0" + min;
if (sec.toString().length == 1)
sec = "0" + sec;
var showTime ="<strong>"+day + "</strong>天<strong>" + hour + "</strong>时<strong>" + min + "</strong>分<strong>" + sec + "</strong>秒";
// 显示
if (isStart == "1")
$("#" + showObjId).html(showTime);
else
$("#" + showObjId).html("团购即将开始");
} function getServerTime() {
var nowtime = $("#hdstarttime").val()-0;
if(nowtime==""||nowtime==null||nowtime=="undefined"){
var xmlHttp = false;
//获取服务器时间
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
} if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
} xmlHttp.open("GET", "null.txt", false);
xmlHttp.setRequestHeader("Range", "bytes=-1");
xmlHttp.send(null); severtime=new Date(xmlHttp.getResponseHeader("Date"));
nowtime = severtime.getTime();
$("#hdstarttime").val(nowtime);
}
return nowtime; }
}(jQuery))
(function($){
}(jQuery))
但是倒计时却不显示了
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.js"></script>
</head>
<body>
<script type="text/javascript">
(function(window,$){
var hiddentiem=$("<input type=\"hidden\" id=\"hdstarttime\"/>");
$(hiddentiem).prependTo("body");
//倒数时间详细页面
function showTime(overdata, showObjId, isStart) {
var arr = overdata.split(" ");
var arr1 = arr[0].split("-");
var arr2 = arr[1].split(":");
var endData = new Date(arr1[0], (Number(arr1[1]) - 1), arr1[2], arr2[0], arr2[1], arr2[2]); // 剩余总秒
var total = (endData - new Date()) / 1000;
if (parseInt(total) <= 0) {
$("#" + showObjId).text("团购已经结束,可以继续购买");
clearInterval(showTime);
return;
}
// 计算时间
var day = parseInt(total / 86400);
//var hour = parseInt(total / 3600);
var hour = parseInt(total % 86400 / 3600);
var min = parseInt((total % 3600) / 60);
var sec = parseInt((total % 3600) % 60); if (hour.toString().length == 1)
hour = "0" + hour;
if (min.toString().length == 1)
min = "0" + min;
if (sec.toString().length == 1)
sec = "0" + sec;
var showTime ="<strong>"+day + "</strong>天<strong>" + hour + "</strong>时<strong>" + min + "</strong>分<strong>" + sec + "</strong>秒"; // 显示
if (isStart == "1")
$("#" + showObjId).html(showTime);
else
$("#" + showObjId).html("即将开始");
}
window.showTime=showTime; //倒数时间列表页面
function showTimeList(overdata, showObjId, isStart,nowDate) { var arr = overdata.split(" ");
var arr1 = arr[0].split("-");
var arr2 = arr[1].split(":");
var endData = new Date(arr1[0], (Number(arr1[1]) - 1), arr1[2], arr2[0], arr2[1], arr2[2]);
var newDate=endData;
if ($("#" + showObjId).text()==""||$("#" + showObjId).text()==null) {
newDate = new Date(getServerTime());
} if ($("#" + showObjId).html() != "" && $("#" + showObjId+" strong").length==4) {
var d1 = $("#" + showObjId + " strong:eq(0)").text();
var h = $("#" + showObjId + " strong:eq(1)").text();
var m = $("#" + showObjId + " strong:eq(2)").text();
var s = $("#" + showObjId + " strong:eq(3)").text(); var sb = parseInt(d1 * 86400 +h * 3600 + m * 60)+ parseInt(s); newDate =endData - (sb - 1)*1000;
} // 剩余总秒
var total = (endData - newDate) / 1000; if (parseInt(total) <=0) {
$("#" + showObjId).text("团购已经结束");
return;
} // 计算时间
var day = parseInt(total / 86400);
var hour = parseInt(total % 86400 / 3600);
var min = parseInt((total % 3600) / 60);
var sec = parseInt((total % 3600) % 60); if (hour.toString().length == 1)
hour = "0" + hour;
if (min.toString().length == 1)
min = "0" + min;
if (sec.toString().length == 1)
sec = "0" + sec;
var showTime ="<strong>"+day + "</strong>天<strong>" + hour + "</strong>时<strong>" + min + "</strong>分<strong>" + sec + "</strong>秒";
// 显示
if (isStart == "1")
$("#" + showObjId).html(showTime);
else
$("#" + showObjId).html("团购即将开始");
}
window.showTimeList=showTimeList;
function getServerTime() {
var nowtime = $("#hdstarttime").val()-0;
if(nowtime==""||nowtime==null||nowtime=="undefined"){
var xmlHttp = false;
//获取服务器时间
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
} if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
} xmlHttp.open("GET", "null.txt", false);
xmlHttp.setRequestHeader("Range", "bytes=-1");
xmlHttp.send(null); severtime=new Date(xmlHttp.getResponseHeader("Date"));
nowtime = severtime.getTime();
$("#hdstarttime").val(nowtime);
}
return nowtime; }
window.getServerTime=getServerTime;
}(window,jQuery))
</script>
</body>
</html>