创建版本
This commit is contained in:
+1294
File diff suppressed because it is too large
Load Diff
+499
@@ -0,0 +1,499 @@
|
||||
/*
|
||||
* My97 DatePicker 4.8 Beta3
|
||||
* License: http://www.my97.net/dp/license.asp
|
||||
*/
|
||||
var $dp, datePicker;
|
||||
|
||||
(function() {
|
||||
var $ = {
|
||||
$langList: [{
|
||||
name: "en",
|
||||
charset: "UTF-8"
|
||||
},
|
||||
{
|
||||
name: "zh-cn",
|
||||
charset: "UTF-8"
|
||||
},
|
||||
{
|
||||
name: "zh-tw",
|
||||
charset: "UTF-8"
|
||||
}],
|
||||
$skinList: [{
|
||||
name: "default",
|
||||
charset: "UTF-8"
|
||||
},
|
||||
{
|
||||
name: "wang",
|
||||
charset: "UTF-8"
|
||||
}],
|
||||
$wdate: true,
|
||||
$crossFrame: true,
|
||||
$preLoad: false,
|
||||
$dpPath: "",
|
||||
doubleCalendar: false,
|
||||
enableKeyboard: true,
|
||||
enableInputMask: true,
|
||||
autoUpdateOnChanged: null,
|
||||
weekMethod: "ISO8601",
|
||||
position: {},
|
||||
lang: "auto",
|
||||
skin: "wang",
|
||||
dateFmt: "yyyy-MM-dd",
|
||||
realDateFmt: "yyyy-MM-dd",
|
||||
realTimeFmt: "HH:mm:ss",
|
||||
realFullFmt: "%Date %Time",
|
||||
minDate: "1900-01-01 00:00:00",
|
||||
maxDate: "2099-12-31 23:59:59",
|
||||
startDate: "",
|
||||
alwaysUseStartDate: false,
|
||||
yearOffset: 1911,
|
||||
firstDayOfWeek: 0,
|
||||
isShowWeek: false,
|
||||
highLineWeekDay: true,
|
||||
isShowClear: true,
|
||||
isShowToday: true,
|
||||
isShowOK: true,
|
||||
isShowOthers: true,
|
||||
readOnly: false,
|
||||
errDealMode: 0,
|
||||
autoPickDate: null,
|
||||
qsEnabled: true,
|
||||
autoShowQS: false,
|
||||
specialDates: null,
|
||||
specialDays: null,
|
||||
disabledDates: null,
|
||||
disabledDays: null,
|
||||
opposite: false,
|
||||
onpicking: null,
|
||||
onpicked: null,
|
||||
onclearing: null,
|
||||
oncleared: null,
|
||||
ychanging: null,
|
||||
ychanged: null,
|
||||
Mchanging: null,
|
||||
Mchanged: null,
|
||||
dchanging: null,
|
||||
dchanged: null,
|
||||
Hchanging: null,
|
||||
Hchanged: null,
|
||||
mchanging: null,
|
||||
mchanged: null,
|
||||
schanging: null,
|
||||
schanged: null,
|
||||
eCont: null,
|
||||
vel: null,
|
||||
elProp: "",
|
||||
errMsg: "",
|
||||
quickSel: [],
|
||||
has: {},
|
||||
getRealLang: function() {
|
||||
var _ = $.$langList;
|
||||
for (var A = 0; A < _.length; A++) if (_[A].name == this.lang) return _[A];
|
||||
return _[0]
|
||||
}
|
||||
};
|
||||
datePicker = T;
|
||||
var X = window,
|
||||
S = {
|
||||
innerHTML: ""
|
||||
},
|
||||
M = "document",
|
||||
H = "documentElement",
|
||||
C = "getElementsByTagName",
|
||||
U,
|
||||
A,
|
||||
R,
|
||||
G,
|
||||
a,
|
||||
W = navigator.appName;
|
||||
if (W == "Microsoft Internet Explorer") R = true;
|
||||
else if (W == "Opera") a = true;
|
||||
else G = true;
|
||||
A = $.$dpPath || J();
|
||||
if ($.$wdate) K(A + "skin/datePicker.css");
|
||||
U = X;
|
||||
if ($.$crossFrame) {
|
||||
try {
|
||||
while (U.parent != U && U.parent[M][C]("frameset").length == 0) U = U.parent
|
||||
} catch(N) {}
|
||||
}
|
||||
if (!U.$dp) U.$dp = {
|
||||
ff: G,
|
||||
ie: R,
|
||||
opera: a,
|
||||
status: 0,
|
||||
defMinDate: $.minDate,
|
||||
defMaxDate: $.maxDate
|
||||
};
|
||||
|
||||
B();
|
||||
|
||||
if ($.$preLoad && $dp.status == 0) E(X, "onload",
|
||||
function() {
|
||||
T(null, true)
|
||||
});
|
||||
|
||||
if ($.$preLoad && $dp.status == 0) E(X, "onload",
|
||||
function() {
|
||||
T(null, true)
|
||||
});
|
||||
if (!X[M].docMD) {
|
||||
E(X[M], "onmousedown", D);
|
||||
X[M].docMD = true
|
||||
}
|
||||
if (!U[M].docMD) {
|
||||
E(U[M], "onmousedown", D);
|
||||
U[M].docMD = true
|
||||
}
|
||||
|
||||
E(X, "onunload",
|
||||
function() {
|
||||
if ($dp.dd) O($dp.dd, "none")
|
||||
});
|
||||
|
||||
E(X, "afterrender", function() {
|
||||
if ($dp.dd) O($dp.dd, "none")
|
||||
});
|
||||
|
||||
function B() {
|
||||
try {
|
||||
U[M],
|
||||
U.$dp = U.$dp || {}
|
||||
} catch($) {
|
||||
U = X;
|
||||
$dp = $dp || {}
|
||||
}
|
||||
var A = {
|
||||
win: X,
|
||||
$: function($) {
|
||||
return (typeof $ == "string") ? X[M].getElementById($) : $
|
||||
},
|
||||
$D: function($, _) {
|
||||
return this.$DV(this.$($).value, _)
|
||||
},
|
||||
$DV: function(_, $) {
|
||||
if (_ != "") {
|
||||
this.dt = $dp.cal.splitDate(_, $dp.cal.dateFmt);
|
||||
if ($) for (var B in $) if (this.dt[B] === undefined) this.errMsg = "invalid property:" + B;
|
||||
else {
|
||||
this.dt[B] += $[B];
|
||||
if (B == "M") {
|
||||
var C = $["M"] > 0 ? 1 : 0,
|
||||
A = new Date(this.dt["y"], this.dt["M"], 0).getDate();
|
||||
this.dt["d"] = Math.min(A + C, this.dt["d"])
|
||||
}
|
||||
}
|
||||
if (this.dt.refresh()) return this.dt
|
||||
}
|
||||
return ""
|
||||
},
|
||||
show: function() {
|
||||
var A = U[M].getElementsByTagName("div"),
|
||||
$ = 100000;
|
||||
for (var B = 0; B < A.length; B++) {
|
||||
var _ = parseInt(A[B].style.zIndex);
|
||||
if (_ > $) $ = _
|
||||
}
|
||||
this.dd.style.zIndex = $ + 2;
|
||||
O(this.dd, "block")
|
||||
},
|
||||
hide: function() {
|
||||
O(this.dd, "none")
|
||||
},
|
||||
attachEvent: E
|
||||
};
|
||||
for (var _ in A) U.$dp[_] = A[_];
|
||||
$dp = U.$dp
|
||||
}
|
||||
function E(A, $, _) {
|
||||
if (R) A.attachEvent($, _);
|
||||
else if (_) {
|
||||
var B = $.replace(/on/, "");
|
||||
_._ieEmuEventHandler = function($) {
|
||||
return _($)
|
||||
};
|
||||
A.addEventListener(B, _._ieEmuEventHandler, false)
|
||||
}
|
||||
}
|
||||
function J() {
|
||||
var _, A, $ = X[M][C]("script");
|
||||
for (var B = 0; B < $.length; B++) {
|
||||
_ = $[B].getAttribute("src") || "";
|
||||
_ = _.substr(0, _.toLowerCase().indexOf("datepicker.js"));
|
||||
A = _.lastIndexOf("/");
|
||||
if (A > 0) _ = _.substring(0, A + 1);
|
||||
if (_) break
|
||||
}
|
||||
return _
|
||||
}
|
||||
function K(A, $, B) {
|
||||
var D = X[M][C]("HEAD").item(0),
|
||||
_ = X[M].createElement("link");
|
||||
if (D) {
|
||||
_.href = A;
|
||||
_.rel = "stylesheet";
|
||||
_.type = "text/css";
|
||||
if ($) _.title = $;
|
||||
if (B) _.charset = B;
|
||||
D.appendChild(_)
|
||||
}
|
||||
}
|
||||
function F($) {
|
||||
$ = $ || U;
|
||||
var A = 0,
|
||||
_ = 0;
|
||||
while ($ != U) {
|
||||
var D = $.parent[M][C]("iframe");
|
||||
for (var F = 0; F < D.length; F++) {
|
||||
try {
|
||||
if (D[F].contentWindow == $) {
|
||||
var E = V(D[F]);
|
||||
A += E.left;
|
||||
_ += E.top;
|
||||
break
|
||||
}
|
||||
} catch(B) {}
|
||||
}
|
||||
$ = $.parent
|
||||
}
|
||||
return {
|
||||
"leftM": A,
|
||||
"topM": _
|
||||
}
|
||||
}
|
||||
function V(G, F) {
|
||||
if (G.getBoundingClientRect) return G.getBoundingClientRect();
|
||||
else {
|
||||
var A = {
|
||||
ROOT_TAG: /^body|html$/i,
|
||||
OP_SCROLL: /^(?:inline|table-row)$/i
|
||||
},
|
||||
E = false,
|
||||
I = null,
|
||||
_ = G.offsetTop,
|
||||
H = G.offsetLeft,
|
||||
D = G.offsetWidth,
|
||||
B = G.offsetHeight,
|
||||
C = G.offsetParent;
|
||||
if (C != G) while (C) {
|
||||
H += C.offsetLeft;
|
||||
_ += C.offsetTop;
|
||||
if (Q(C, "position").toLowerCase() == "fixed") E = true;
|
||||
else if (C.tagName.toLowerCase() == "body") I = C.ownerDocument.defaultView;
|
||||
C = C.offsetParent
|
||||
}
|
||||
C = G.parentNode;
|
||||
while (C.tagName && !A.ROOT_TAG.test(C.tagName)) {
|
||||
if (C.scrollTop || C.scrollLeft) if (!A.OP_SCROLL.test(O(C))) if (!a || C.style.overflow !== "visible") {
|
||||
H -= C.scrollLeft;
|
||||
_ -= C.scrollTop
|
||||
}
|
||||
C = C.parentNode
|
||||
}
|
||||
if (!E) {
|
||||
var $ = Z(I);
|
||||
H -= $.left;
|
||||
_ -= $.top
|
||||
}
|
||||
D += H;
|
||||
B += _;
|
||||
return {
|
||||
"left": H,
|
||||
"top": _,
|
||||
"right": D,
|
||||
"bottom": B
|
||||
}
|
||||
}
|
||||
}
|
||||
function L($) {
|
||||
$ = $ || U;
|
||||
var B = $[M],
|
||||
A = ($.innerWidth) ? $.innerWidth: (B[H] && B[H].clientWidth) ? B[H].clientWidth: B.body.offsetWidth,
|
||||
_ = ($.innerHeight) ? $.innerHeight: (B[H] && B[H].clientHeight) ? B[H].clientHeight: B.body.offsetHeight;
|
||||
return {
|
||||
"width": A,
|
||||
"height": _
|
||||
}
|
||||
}
|
||||
function Z($) {
|
||||
$ = $ || U;
|
||||
var B = $[M],
|
||||
A = B[H],
|
||||
_ = B.body;
|
||||
B = (A && A.scrollTop != null && (A.scrollTop > _.scrollTop || A.scrollLeft > _.scrollLeft)) ? A: _;
|
||||
return {
|
||||
"top": B.scrollTop,
|
||||
"left": B.scrollLeft
|
||||
}
|
||||
}
|
||||
function D($) {
|
||||
try {
|
||||
var _ = $ ? ($.srcElement || $.target) : null;
|
||||
if ($dp.cal && !$dp.eCont && $dp.dd && _ != $dp.el && $dp.dd.style.display == "block") $dp.cal.close()
|
||||
} catch($) {}
|
||||
}
|
||||
function Y() {
|
||||
$dp.status = 2
|
||||
}
|
||||
var P, _;
|
||||
function T(N, F) {
|
||||
if (!$dp) return;
|
||||
B();
|
||||
N = N || {};
|
||||
for (var K in $) if (K.substring(0, 1) != "$" && N[K] === undefined) N[K] = $[K];
|
||||
if (F) {
|
||||
if (!L()) {
|
||||
_ = _ || setInterval(function() {
|
||||
if (U[M].readyState == "complete") clearInterval(_);
|
||||
T(null, true)
|
||||
},
|
||||
50);
|
||||
return
|
||||
}
|
||||
if ($dp.status == 0) {
|
||||
$dp.status = 1;
|
||||
N.el = S;
|
||||
I(N, true)
|
||||
} else return
|
||||
} else if (N.eCont) {
|
||||
N.eCont = $dp.$(N.eCont);
|
||||
N.el = S;
|
||||
N.autoPickDate = true;
|
||||
N.qsEnabled = false;
|
||||
I(N)
|
||||
} else {
|
||||
if ($.$preLoad && $dp.status != 2) return;
|
||||
var J = H();
|
||||
if (X.event === J || J) {
|
||||
N.srcEl = J.srcElement || J.target;
|
||||
J.cancelBubble = true
|
||||
}
|
||||
N.el = N.el = $dp.$(N.el || N.srcEl);
|
||||
if (!N.el || N.el["My97Mark"] === true || N.el.disabled || ($dp.dd && O($dp.dd) != "none" && $dp.dd.style.left != "-970px")) {
|
||||
try {
|
||||
if (N.el["My97Mark"]) N.el["My97Mark"] = false
|
||||
} catch(C) {}
|
||||
return
|
||||
}
|
||||
if (J && N.el.nodeType == 1 && N.el["My97Mark"] === undefined) {
|
||||
var A, D;
|
||||
if (J.type == "focus") E(N.el, "onclick",
|
||||
function() {
|
||||
T(N)
|
||||
});
|
||||
else E(N.el, "onfocus",
|
||||
function() {
|
||||
T(N)
|
||||
})
|
||||
}
|
||||
I(N)
|
||||
}
|
||||
function L() {
|
||||
if (R && U != X && U[M].readyState != "complete") return false;
|
||||
return true
|
||||
}
|
||||
function H() {
|
||||
if (G) {
|
||||
func = H.caller;
|
||||
while (func != null) {
|
||||
var $ = func.arguments[0];
|
||||
if ($ && ($ + "").indexOf("Event") >= 0) return $;
|
||||
func = func.caller
|
||||
}
|
||||
return null
|
||||
}
|
||||
return event
|
||||
}
|
||||
}
|
||||
function Q(_, $) {
|
||||
return _.currentStyle ? _.currentStyle[$] : document.defaultView.getComputedStyle(_, false)[$]
|
||||
}
|
||||
function O(_, $) {
|
||||
if (_) if ($ != null) _.style.display = $;
|
||||
else return Q(_, "display")
|
||||
}
|
||||
function I(G, _) {
|
||||
var D = G.el ? G.el.nodeName: "INPUT";
|
||||
if (_ || G.eCont || new RegExp(/input|textarea|div|span|p|a/ig).test(D)) G.elProp = D == "INPUT" ? "value": "innerHTML";
|
||||
else return;
|
||||
if (G.lang == "auto") G.lang = R ? navigator.browserLanguage.toLowerCase() : navigator.language.toLowerCase();
|
||||
if (!G.eCont) for (var C in G) $dp[C] = G[C];
|
||||
if (!$dp.dd || G.eCont || ($dp.dd && (G.getRealLang().name != $dp.dd.lang || G.skin != $dp.dd.skin))) {
|
||||
if (G.eCont) E(G.eCont, G);
|
||||
else {
|
||||
$dp.dd = U[M].createElement("DIV");
|
||||
$dp.dd.style.cssText = "position:absolute";
|
||||
U[M].body.appendChild($dp.dd);
|
||||
E($dp.dd, G);
|
||||
if (_) $dp.dd.style.left = $dp.dd.style.top = "-970px";
|
||||
else {
|
||||
$dp.show();
|
||||
B($dp)
|
||||
}
|
||||
}
|
||||
} else if ($dp.cal) {
|
||||
$dp.show();
|
||||
$dp.cal.init();
|
||||
if (!$dp.eCont) B($dp)
|
||||
}
|
||||
function E(I, H) {
|
||||
var G = X[M].domain,
|
||||
E = false;
|
||||
I.innerHTML = "<iframe hideFocus=true width=9 height=7 frameborder=0 border=0 scrolling=no src=\"about:blank\"></iframe>";
|
||||
var _ = $.$langList,
|
||||
C = $.$skinList,
|
||||
F;
|
||||
try {
|
||||
F = I.lastChild.contentWindow[M]
|
||||
} catch(D) {
|
||||
E = true;
|
||||
I.lastChild.src = "javascript:void((function(){document.open();document.domain='" + G + "';})())";
|
||||
F = I.lastChild.contentWindow[M]
|
||||
}
|
||||
var K = H.getRealLang();
|
||||
I.lang = K.name;
|
||||
I.skin = H.skin;
|
||||
var J = ["<head><script>", "", "var $d, $dp, $cfg=document.cfg, $pdp = parent.$dp, $dt, $tdt, $sdt, $lastInput, $IE=$pdp.ie, $FF = $pdp.ff,$OPERA=$pdp.opera, $ny, $cMark = false;", "if($cfg.eCont){$dp = {};for(var p in $pdp)$dp[p]=$pdp[p];}else{$dp=$pdp;};for(var p in $cfg){$dp[p]=$cfg[p];}", "document.oncontextmenu1=function(){try{$c._fillQS(!$dp.has.d,1);showB($d.qsDivSel);}catch(e){};return false;};", "</script><script src=", A, "lang/", K.name, ".js charset=", K.charset, "></script>"];
|
||||
if (E) J[1] = "document.domain=\"" + G + "\";";
|
||||
for (var L = 0; L < C.length; L++) if (C[L].name == H.skin) J.push("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + A + "skin/" + C[L].name + "/datepicker.css\" charset=\"" + C[L].charset + "\"/>");
|
||||
J.push("<script type=\"text/javascript\" src=\"" + A + "calendar.js?\"+Math.random()+\"\"></script>");
|
||||
J.push("</head><body leftmargin=\"0\" topmargin=\"0\" tabindex=0></body></html>");
|
||||
J.push("<script>var t;t=t||setInterval(function(){if(document.ready){new My97DP();$cfg.onload();$c.autoSize();$cfg.setPos($dp);clearInterval(t);}},20);</script>");
|
||||
H.setPos = B;
|
||||
H.onload = Y;
|
||||
F.write("<html>");
|
||||
F.cfg = H;
|
||||
F.write(J.join(""));
|
||||
F.close()
|
||||
}
|
||||
function B(J) {
|
||||
|
||||
var H = J.position.left,
|
||||
C = J.position.top,
|
||||
D = J.el;
|
||||
if (D == S) return;
|
||||
if (D != J.srcEl && (O(D) == "none" || D.type == "hidden")) D = J.srcEl;
|
||||
var I = V(D),
|
||||
$ = F(X),
|
||||
E = L(U),
|
||||
B = Z(U),
|
||||
G = $dp.dd.offsetHeight,
|
||||
A = $dp.dd.offsetWidth;
|
||||
if (isNaN(C)) C = 0;
|
||||
if (($.topM + I.bottom + G > E.height) && ($.topM + I.top - G > 0)) C += B.top + $.topM + I.top - G - 2;
|
||||
else {
|
||||
C += B.top + $.topM + I.bottom;
|
||||
var _ = C - B.top + G - E.height;
|
||||
if (_ > 0) C -= _
|
||||
}
|
||||
if (isNaN(H)) H = 0;
|
||||
H += B.left + Math.min($.leftM + I.left, E.width - A - 5) - (R ? 2 : 0);
|
||||
J.dd.style.top = C + "px";
|
||||
J.dd.style.left = H + "px";
|
||||
|
||||
if ($dp.afterrender) {
|
||||
$dp.afterrender.call($dp);
|
||||
}
|
||||
}
|
||||
}
|
||||
})()
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
<script language="javascript" type="text/javascript" src="datePicker.js"></script>
|
||||
|
||||
|
||||
<input class="Wdate" type="text" onClick="datePicker({dateFmt:'yyyy-MM-dd HH:mm'});"> <font color=red><- 点我弹出日期控件</font>
|
||||
|
||||
|
||||
<br><br><br><br>
|
||||
更多demo请访问官方主页 <a href="http://www.my97.net">http://www.my97.net</a>
|
||||
|
||||
<br><br>
|
||||
<h1>请务必仔细阅读下面的文字</h1><br>
|
||||
<pre>
|
||||
注意:此版本为 4.8 Beta3 build 20130105
|
||||
|
||||
更新内容:
|
||||
[新增]preload预载选项
|
||||
[增强]验证功能可被关闭errDealMode=-1
|
||||
[修改]调整周算法模式,新增weekMethod属性
|
||||
[修改]去除My97DatePicker.htm
|
||||
[修改]position改成相对坐标(原来为绝对坐标)
|
||||
[恢复]$dpPath属性,用于解决有base标签极端情况下的问题[Beta3]
|
||||
[修正]跨域错误提示没有权限的问题[Beta3]
|
||||
[修正]两个日期框焦点混淆的问题[Beta3]
|
||||
[修正]IE中有时会一直显示正在加载的问题[Beta3]
|
||||
[修正]onchange不能触发的问题
|
||||
[修正]输入日期后回车自动变为当前日期的问题[Beta3]
|
||||
[修正]兼容最新Safari,Opera,chrome等浏览器[Beta3]
|
||||
[修正]<script>空标签时的错误
|
||||
[修正]平面模式下的几个偶发问题[Beta3]
|
||||
[修正]双月日历下跨年选择出错的问题
|
||||
[修正]修正复杂iframe下,弹出位置偏移的问题(很偶发)
|
||||
|
||||
|
||||
|
||||
使用方法:
|
||||
|
||||
1. 去官方网站看看,你当前下载的是否是最新的版本,很多bug都是因为使用的不是最新版本造成的
|
||||
官方主页:<a href="http://www.my97.net" target="_blank">http://www.my97.net</a>
|
||||
|
||||
|
||||
2. 将My97DatePicker整个目录包,放入您的项目的相应目录下
|
||||
|
||||
My97DatePicker目录下各文件的作用:
|
||||
1.1 My97DatePicker目录是一个整体,不可破坏里面的目录结构,也不可对里面的文件改名,可以改目录名
|
||||
1.2 各目录及文件的用途:
|
||||
WdatePicker.js 配置文件,在调用的地方仅需使用该文件,可多个共存,以xx_WdatePicker.js方式命名
|
||||
calendar.js 日期库主文件,无需引入
|
||||
目录lang 存放语言文件,你可以根据需要清理或添加语言文件
|
||||
目录skin 存放皮肤的相关文件,你可以根据需要清理或添加皮肤文件包
|
||||
|
||||
|
||||
3. 您可以根据您自己的需要,删除不必要的皮肤和语言文件
|
||||
|
||||
|
||||
4. 您可以根据您自己的需要,添加新的皮肤包
|
||||
皮肤中心地址:<a href="http://www.my97.net/dp/skin.asp" target="_blank">http://www.my97.net/dp/skin.asp</a>
|
||||
|
||||
|
||||
5. 详细阅读在线演示和使用说明,大部分问题都可以通过这里解决,请细看
|
||||
在线演示:<a href="http://www.my97.net/dp/demo/" target="_blank">http://www.my97.net/dp/demo/</a>
|
||||
|
||||
|
||||
6. 如果遇到无法解决的问题
|
||||
请先参考:<a href="http://www.my97.net/dp/support.asp" target="_blank">http://www.my97.net/dp/support.asp</a>
|
||||
|
||||
|
||||
7. 如果遇到问题,而技术支持页面无法解决的
|
||||
您可以通过技术支持页面中提供的联系方式联系我,注意:问问题时,一定要附上相关的HTML代码和详细的错误信息
|
||||
|
||||
|
||||
8. 您有什么意见或建议,你可以通过技术支持页面中提供的联系方式联系我
|
||||
|
||||
|
||||
9. 如果您对日期控件的许可协议有兴趣,您可以访问:<a href="http://www.my97.net/dp/license.asp">http://www.my97.net/dp/license.asp</a>
|
||||
|
||||
|
||||
10.最后祝大家项目顺利,月月加薪!
|
||||
|
||||
---------------------------------------------------------------------
|
||||
官方主页
|
||||
<a href="http://www.my97.net" target="_blank">http://www.my97.net</a>
|
||||
|
||||
在线演示和使用说明
|
||||
<a href="http://www.my97.net/dp/demo/" target="_blank">http://www.my97.net/dp/demo/</a>
|
||||
|
||||
皮肤中心:
|
||||
<a href="http://www.my97.net/dp/skin.asp" target="_blank">http://www.my97.net/dp/skin.asp</a>
|
||||
|
||||
许可协议
|
||||
<a href="http://www.my97.net/dp/license.asp">http://www.my97.net/dp/license.asp</a>
|
||||
|
||||
源代码:
|
||||
<a href="http://www.my97.net/dp/source.asp" target="_blank">http://www.my97.net/dp/source.asp</a>
|
||||
|
||||
技术支持页面
|
||||
<a href="http://www.my97.net/dp/support.asp" target="_blank">http://www.my97.net/dp/support.asp</a></pre>
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
var $lang={
|
||||
errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u8303\u56F4,\u9700\u8981\u64A4\u9500\u5417?",
|
||||
aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"],
|
||||
aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"],
|
||||
aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"],
|
||||
aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],
|
||||
clearStr: "\u6E05\u7A7A",
|
||||
todayStr: "\u4ECA\u5929",
|
||||
okStr: "\u786E\u5B9A",
|
||||
updateStr: "\u786E\u5B9A",
|
||||
timeStr: "\u65F6\u95F4",
|
||||
quickStr: "\u5FEB\u901F\u9009\u62E9",
|
||||
err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F!'
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
var $lang={
|
||||
errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u8303\u56F4,\u9700\u8981\u64A4\u9500\u5417?",
|
||||
aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"],
|
||||
aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"],
|
||||
aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"],
|
||||
aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],
|
||||
clearStr: "\u6E05\u7A7A",
|
||||
todayStr: "\u4ECA\u5929",
|
||||
okStr: "\u786E\u5B9A",
|
||||
updateStr: "\u786E\u5B9A",
|
||||
timeStr: "\u65F6\u95F4",
|
||||
quickStr: "\u5FEB\u901F\u9009\u62E9",
|
||||
err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F!'
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
.Wdate {
|
||||
border:#999 1px solid;
|
||||
height:20px;
|
||||
background:#fff url(datePicker.gif) no-repeat right;
|
||||
}
|
||||
|
||||
.WdateFmtErr {
|
||||
font-weight: bold;
|
||||
color:red;
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1,246 @@
|
||||
/*
|
||||
* My97 DatePicker 4.8
|
||||
*/
|
||||
|
||||
.WdateDiv{
|
||||
width:180px;
|
||||
background-color:#FFFFFF;
|
||||
border:#bbb 1px solid;
|
||||
padding:2px;
|
||||
}
|
||||
|
||||
.WdateDiv2{
|
||||
width:360px;
|
||||
}
|
||||
.WdateDiv *{font-size:9pt;}
|
||||
|
||||
.WdateDiv .NavImg a{
|
||||
display:block;
|
||||
cursor:pointer;
|
||||
height:16px;
|
||||
width:16px;
|
||||
}
|
||||
|
||||
.WdateDiv .NavImgll a{
|
||||
float:left;
|
||||
background:transparent url(img.gif) no-repeat scroll 0 0;
|
||||
}
|
||||
.WdateDiv .NavImgl a{
|
||||
float:left;
|
||||
background:transparent url(img.gif) no-repeat scroll -16px 0;
|
||||
}
|
||||
.WdateDiv .NavImgr a{
|
||||
float:right;
|
||||
background:transparent url(img.gif) no-repeat scroll -32px 0;
|
||||
}
|
||||
.WdateDiv .NavImgrr a{
|
||||
float:right;
|
||||
background:transparent url(img.gif) no-repeat scroll -48px 0;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTitle{
|
||||
height:24px;
|
||||
margin-bottom:2px;
|
||||
padding:1px;
|
||||
}
|
||||
|
||||
.WdateDiv .yminput{
|
||||
margin-top:2px;
|
||||
text-align:center;
|
||||
height:20px;
|
||||
border:0px;
|
||||
width:50px;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.WdateDiv .yminputfocus{
|
||||
margin-top:2px;
|
||||
text-align:center;
|
||||
font-weight:bold;
|
||||
height:20px;
|
||||
color:blue;
|
||||
border:#ccc 1px solid;
|
||||
width:50px;
|
||||
}
|
||||
|
||||
.WdateDiv .menuSel{
|
||||
z-index:1;
|
||||
position:absolute;
|
||||
background-color:#FFFFFF;
|
||||
border:#ccc 1px solid;
|
||||
display:none;
|
||||
}
|
||||
|
||||
.WdateDiv .menu{
|
||||
cursor:pointer;
|
||||
background-color:#fff;
|
||||
}
|
||||
|
||||
.WdateDiv .menuOn{
|
||||
cursor:pointer;
|
||||
background-color:#BEEBEE;
|
||||
}
|
||||
|
||||
.WdateDiv .invalidMenu{
|
||||
color:#aaa;
|
||||
}
|
||||
|
||||
.WdateDiv .YMenu{
|
||||
margin-top:20px;
|
||||
|
||||
}
|
||||
|
||||
.WdateDiv .MMenu{
|
||||
margin-top:20px;
|
||||
*width:62px;
|
||||
}
|
||||
|
||||
.WdateDiv .hhMenu{
|
||||
margin-top:-90px;
|
||||
margin-left:26px;
|
||||
}
|
||||
|
||||
.WdateDiv .mmMenu{
|
||||
margin-top:-46px;
|
||||
margin-left:26px;
|
||||
}
|
||||
|
||||
.WdateDiv .ssMenu{
|
||||
margin-top:-24px;
|
||||
margin-left:26px;
|
||||
}
|
||||
|
||||
.WdateDiv .Wweek {
|
||||
text-align:center;
|
||||
background:#DAF3F5;
|
||||
border-right:#BDEBEE 1px solid;
|
||||
}
|
||||
|
||||
.WdateDiv .MTitle{
|
||||
background-color:#BDEBEE;
|
||||
}
|
||||
.WdateDiv .WdayTable2{
|
||||
border-collapse:collapse;
|
||||
border:#c5d9e8 1px solid;
|
||||
}
|
||||
.WdateDiv .WdayTable2 table{
|
||||
border:0;
|
||||
}
|
||||
|
||||
.WdateDiv .WdayTable{
|
||||
line-height:20px;
|
||||
border:#c5d9e8 1px solid;
|
||||
}
|
||||
.WdateDiv .WdayTable td{
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.WdateDiv .Wday{
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.WdateDiv .WdayOn{
|
||||
cursor:pointer;
|
||||
background-color:#C0EBEF;
|
||||
}
|
||||
|
||||
.WdateDiv .Wwday{
|
||||
cursor:pointer;
|
||||
color:#FF2F2F;
|
||||
}
|
||||
|
||||
.WdateDiv .WwdayOn{
|
||||
cursor:pointer;
|
||||
color:#000;
|
||||
background-color:#C0EBEF;
|
||||
}
|
||||
.WdateDiv .Wtoday{
|
||||
cursor:pointer;
|
||||
color:blue;
|
||||
}
|
||||
.WdateDiv .Wselday{
|
||||
background-color:#A9E4E9;
|
||||
}
|
||||
.WdateDiv .WspecialDay{
|
||||
background-color:#66F4DF;
|
||||
}
|
||||
|
||||
.WdateDiv .WotherDay{
|
||||
cursor:pointer;
|
||||
color:#6A6AFF;
|
||||
}
|
||||
|
||||
.WdateDiv .WotherDayOn{
|
||||
cursor:pointer;
|
||||
background-color:#C0EBEF;
|
||||
}
|
||||
|
||||
.WdateDiv .WinvalidDay{
|
||||
color:#aaa;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime{
|
||||
float:left;
|
||||
margin-top:3px;
|
||||
margin-right:30px;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime #dpTimeStr{
|
||||
margin-left:1px;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime input{
|
||||
width:18px;
|
||||
height:20px;
|
||||
text-align:center;
|
||||
border:#ccc 1px solid;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime .tB{
|
||||
border-right:0px;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime .tE{
|
||||
border-left:0;
|
||||
border-right:0;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime .tm{
|
||||
width:7px;
|
||||
border-left:0;
|
||||
border-right:0;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime #dpTimeUp{
|
||||
height:10px;
|
||||
width:13px;
|
||||
border:0px;
|
||||
background:url(img.gif) no-repeat -32px -16px;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime #dpTimeDown{
|
||||
height:10px;
|
||||
width:13px;
|
||||
border:0px;
|
||||
background:url(img.gif) no-repeat -48px -16px;
|
||||
}
|
||||
|
||||
.WdateDiv #dpQS {
|
||||
float:left;
|
||||
margin-right:3px;
|
||||
margin-top:3px;
|
||||
background:url(img.gif) no-repeat 0px -16px;
|
||||
width:20px;
|
||||
height:20px;
|
||||
cursor:pointer;
|
||||
}
|
||||
.WdateDiv #dpControl {
|
||||
text-align:right;
|
||||
}
|
||||
.WdateDiv .dpButton{
|
||||
height:20px;
|
||||
width:45px;
|
||||
border:#ccc 1px solid;
|
||||
margin-top:2px;
|
||||
margin-right:1px;
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1017 B |
@@ -0,0 +1,254 @@
|
||||
.WdateDiv {
|
||||
position: relative;
|
||||
width: 190px;
|
||||
font-size:12px;
|
||||
color: #333;
|
||||
border: solid 1px #269bd6;
|
||||
background: #fff;
|
||||
}
|
||||
.WdateDiv2 {
|
||||
width: 360px;
|
||||
}
|
||||
.WdateDiv .NavImg a,.WdateDiv .yminput,.WdateDiv .yminputfocus,.WdateDiv #dpQS {
|
||||
background: url(img.gif) no-repeat;
|
||||
}
|
||||
.WdateDiv .NavImg a {
|
||||
float: left;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.WdateDiv .NavImgll a {
|
||||
background-position: 0 5px;
|
||||
}
|
||||
.WdateDiv .NavImgl a {
|
||||
background-position: 0 -10px;
|
||||
}
|
||||
.WdateDiv .NavImgr a {
|
||||
background-position: 0 -25px;
|
||||
float: right;
|
||||
}
|
||||
.WdateDiv .NavImgrr a {
|
||||
background-position: 0 -40px;
|
||||
float: right;
|
||||
}
|
||||
.WdateDiv #dpTitle {
|
||||
line-height: 0;
|
||||
height: 23px;
|
||||
padding:3px 0 0 5px;
|
||||
border-bottom: solid 1px #d2e8fd;
|
||||
}
|
||||
.WdateDiv .yminput,.WdateDiv .yminputfocus {
|
||||
margin-left: 3px;
|
||||
width: 50px;
|
||||
height: 20px;
|
||||
line-height: 16px;
|
||||
color:#265da2;
|
||||
border:0;
|
||||
cursor: pointer;
|
||||
background-position: 35px -68px;
|
||||
}
|
||||
.WdateDiv .yminputfocus {
|
||||
background-color: #fff;
|
||||
border: solid 1px #D8D8D8;
|
||||
}
|
||||
.WdateDiv .menuSel {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
background-color: #FFF;
|
||||
border: #A3C6C8 1px solid;
|
||||
display: none;
|
||||
}
|
||||
.WdateDiv .menu {
|
||||
background: #fff;
|
||||
}
|
||||
.WdateDiv .menuOn {
|
||||
color: #fff;
|
||||
background: #269bd6;
|
||||
}
|
||||
.WdateDiv .MMenu,.WdateDiv .YMenu {
|
||||
margin-top: 20px;
|
||||
margin-left: -1px;
|
||||
width: 68px;
|
||||
border: solid 1px #D9D9D9;
|
||||
padding: 2px;
|
||||
}
|
||||
.WdateDiv .MMenu table,.WdateDiv .YMenu table {
|
||||
width: 100%;
|
||||
}
|
||||
.WdateDiv .MMenu table td,.WdateDiv .YMenu table td {
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
cursor: pointer;
|
||||
padding: 0;
|
||||
}
|
||||
.WdateDiv .Wweek {
|
||||
text-align: center;
|
||||
background: #265d95;
|
||||
border-right: #BDEBEE 1px solid;
|
||||
}
|
||||
.WdateDiv td {
|
||||
line-height: 20px;
|
||||
font-size: 12px;
|
||||
color: #999;
|
||||
background: #fff;
|
||||
cursor: pointer;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
/* 星期栏目 */
|
||||
.WdateDiv .MTitle td {
|
||||
line-height: 24px;
|
||||
color: #269bd6;
|
||||
background: #f3f9fe /* url(background1.gif) repeat-x top */;
|
||||
border-bottom:1px solid #e3f1fe;
|
||||
cursor: default;
|
||||
}
|
||||
.WdateDiv .WdayTable2 {
|
||||
border-collapse: collapse;
|
||||
border: gray 1px solid;
|
||||
}
|
||||
.WdateDiv .WdayTable2 table {
|
||||
border: 0;
|
||||
}
|
||||
.WdateDiv .WdayTable {
|
||||
line-height: 20px;
|
||||
color: #13777e;
|
||||
background-color: #edfbfb;
|
||||
}
|
||||
.WdateDiv .WdayTable td {
|
||||
text-align: center;
|
||||
}
|
||||
.WdateDiv .Wday {
|
||||
color: #323232;
|
||||
}
|
||||
.WdateDiv .Wwday {
|
||||
color: #269bd6;
|
||||
}
|
||||
.WdateDiv .Wtoday {
|
||||
color: #FF6D10;
|
||||
background: #E0EDFE;
|
||||
}
|
||||
.WdateDiv .WspecialDay {
|
||||
background-color: #66F4DF;
|
||||
}
|
||||
.WdateDiv .WotherDay {
|
||||
color: #D4D4D4;
|
||||
}
|
||||
.WdateDiv #dpTime {
|
||||
position: relative;
|
||||
margin-top:0;
|
||||
border-top: solid 1px #d4e9fc;
|
||||
padding:0px 0 1px 2px;
|
||||
background: #f3f9fe /*url(background1.gif) repeat-y bottom */;
|
||||
}
|
||||
.WdateDiv #dpTime #dpTimeStr {
|
||||
display: inline-block;
|
||||
width: 30px;
|
||||
color: #269bd6;
|
||||
text-align: right;
|
||||
}
|
||||
.WdateDiv #dpTime input {
|
||||
width: 25px;
|
||||
height: 20px;
|
||||
line-height:20px;
|
||||
text-align: center;
|
||||
color: #333;
|
||||
border: #D9D9D9 1px solid;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.WdateDiv #dpTime .tm {
|
||||
width: 7px;
|
||||
border: none;
|
||||
/*
|
||||
background: #F2F0F1;
|
||||
*/
|
||||
}
|
||||
.WdateDiv #dpQS {
|
||||
float: left;
|
||||
margin:7px 3px 0 3px;
|
||||
width:16px;
|
||||
height:16px;
|
||||
cursor: pointer;
|
||||
display:none;
|
||||
background-position: 0 -90px;
|
||||
}
|
||||
.WdateDiv #dpControl {
|
||||
text-align: center;
|
||||
/*
|
||||
margin-top: 3px;
|
||||
*/
|
||||
padding:2px 0;
|
||||
border-top: #e3f1fe 1px solid;
|
||||
}
|
||||
.WdateDiv .dpButton {
|
||||
margin-left: 2px;
|
||||
line-height: 16px;
|
||||
width: 45px;
|
||||
padding:2px 0;
|
||||
background: #fff/* url(button_bg.gif) repeat-x center -12px */;
|
||||
color: #666;
|
||||
/* border:solid 1px #269bd6; */
|
||||
cursor: pointer;
|
||||
/* box-shadow: 0 1px 1px rgba(90, 90, 90, 0.1);
|
||||
border-color: #ddd;
|
||||
*/
|
||||
border-width: 0;
|
||||
}
|
||||
.WdateDiv .dpButton:hover {
|
||||
color: #fff;
|
||||
background: #fff/* url(button_bg.gif) repeat-x center -1px */;
|
||||
background-color: #269bd6;
|
||||
border-color: #269bd6;
|
||||
}
|
||||
.WdateDiv .hhMenu,.WdateDiv .mmMenu,.WdateDiv .ssMenu {
|
||||
position: absolute;
|
||||
font-size: 12px;
|
||||
color: #333;
|
||||
border: solid 1px #DEDEDE;
|
||||
background-color: #F2F0F1;
|
||||
padding: 3px;
|
||||
}
|
||||
.WdateDiv #dpTime .menu,.WdateDiv #dpTime .menuOn {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
line-height: 18px;
|
||||
text-align: center;
|
||||
background: #fff;
|
||||
}
|
||||
.WdateDiv #dpTime .menuOn {
|
||||
background: #269bd6;
|
||||
}
|
||||
.WdateDiv #dpTime td {
|
||||
/*
|
||||
background: #fff url(background1.gif) repeat-x top;
|
||||
background: #F2F0F1;
|
||||
*/
|
||||
}
|
||||
.WdateDiv #dpTime table td {
|
||||
background: transparent;
|
||||
}
|
||||
.WdateDiv .hhMenu {
|
||||
top: -87px;
|
||||
left: 32px;
|
||||
}
|
||||
.WdateDiv .mmMenu {
|
||||
top: -47px;
|
||||
left: 32px;
|
||||
}
|
||||
.WdateDiv .ssMenu {
|
||||
top: -27px;
|
||||
left: 32px;
|
||||
}
|
||||
.WdateDiv .invalidMenu,.WdateDiv .WinvalidDay {
|
||||
color: #aaa;
|
||||
}
|
||||
.WdateDiv .WdayOn,.WdateDiv .WwdayOn,.WdateDiv .Wselday,.WdateDiv .WotherDayOn {
|
||||
background-color: #269bd6;
|
||||
color: #fff;
|
||||
}
|
||||
.WdateDiv #dpTime #dpTimeUp,.WdateDiv #dpTime #dpTimeDown {
|
||||
display: none;
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 899 B |
Binary file not shown.
Reference in New Issue
Block a user