jquer_shijian 增加初始化 年月日 及 结束时间 年月日

 2023-09-05 阅读 72 评论 0

摘要:增加了插件 在初始化的时候,控制 年月日,和结束 年月日 $(time_createobj).siblings(".xtw_budget_userdatafn_hide").shijian({showNowTime:false,startYear:2009,startMonh:'12',startDay:'07',val:2010,endYear:2021,endMonh:'0

增加了插件 在初始化的时候,控制 年月日,和结束 年月日

$(time_createobj).siblings(".xtw_budget_userdatafn_hide").shijian({showNowTime:false,startYear:2009,startMonh:'12',startDay:'07',val:2010,endYear:2021,endMonh:'05',endDay:'11',Year:true,//是否显示年//
                Month:true,//是否显示月//
                Day:true,//是否显示日//
                Hour:false,Hour2:false,Minute:false,h:"00",h2:"00",yyyy: nowyear, //设置起始值//
                mm: nowmonth,dd: nowday,alwaysShow:true,timeElm:$(".time-box"),//sjObj表示当前对象  也可以使用 sjObj  用字符串//timeElm:"sjObj.prev()",// 也可以使用 sjObj  用字符串  sjObj 表示当前input})

jjs 源码:

(function () {function fillZero(x) {if (x < 10) {return x = "0" + x;} else {return "" + x;}};$.fn.shijian = function (opt) {function cPlugin(o, emlnum) {var sjObj = o;console.log(sjObj)sjObj.defaults = {type: "time",Format: "yyyy-mm-dd",timeFormat: "h:m:s",width: 60,height: 32,Year: true,Month: true,Day: true,Hour: true,Hour2: true,Minute: true,Seconds: false,yyArr: [],mmArr: [],ddArr: [],hArr: [],mArr: [],sArr: [],yyyy: "2000",mm: "01",dd: "01",h: "01",m: "01",s: "01",val: null,// yearText: "年",// monthText: "月",// dayText: '日',// hourText: '时',// minuteText: '分',// secondsText: '秒',okText: "确认",cancelText: "取消",thisElm: null,showNowTime: true,alwaysShow: false,timeElm: null,isparseInt: false,finalshow: true,boxClassName: "",onfun: function (sjObj) {},okfun: function (sjObj) {},t_box: null,df_persp: function () {return $("<div class='df-persp'><div class='persp-bg'></div>")},df_box: function () {return $("</div><div class='df-box " + (sjObj.opt.alwaysShow ? "alwaysShow" : "") + " " + sjObj.opt.boxClassName + "' style='line-height:" + sjObj.opt.height + "px;'></div>")},df_main: function () {return $("<div class='df-main all-flex all-justify-justify all-align-items-center'>")},df_btn: function () {if (sjObj.opt.alwaysShow) {return}return $("<div class='df-btn' style='height:" + sjObj.opt.height + "px'><div class='df-ok'>" + sjObj.opt.okText + "</div><div class='df-no'>" + sjObj.opt.cancelText + "</div></div>")},df_wrap: function () {return $("<div class='df-wrap'><table><tbody><tr></tr></tbody></table></div>")},df_final: function () {return $("<div class='df-final'></div>")},getArr: function () {for (var i = 0; i < 61; i++) {if (i < 12) {this.mmArr[i] = (i + 1);}if (i < 31) {this.ddArr[i] = (i + 1);}// 这里定义小时范围if (i < 25) {this.hArr[i] = i;};if (i < 60) {this.mArr[i] = i;this.sArr[i] = i;}if (i < 61 && !sjObj.opt.Year && !sjObj.opt.Month && !sjObj.opt.Day && !sjObj.opt.Hour) {this.mArr[i] = i;}}},y: 10,nowTime: new Date(),startYear: null,endYear: null,ampmText: null,dataNum: 0,strStart: function (text, c) {var df = this;var str;var text = text || "";// console.log(this);if (df.width) {str = '<div class="df-class">' + text + '</div><div class="df-item " style="height:' + (df.height * 5 - 1) + 'px;min-width:' + df.width + 'px"><ul class="df-ul" data-class=' + c + '>';} else {str = '<div class="df-class">' + text + '</div><div class="df-item " style="height:' + (df.height * 5 - 1) + 'px"><ul class="df-ul" data-class=' + c + '>';}sjObj.opt.dataNum++;return str;},strEnd: function () {var df = this;return "</ul><div class='G-bg'><div class='G-top' style='height:" + (df.height * 2) + "px'></div><div class='G-mid' style='height:" + df.height + "px'></div><div class='G-btm' style='height:" + (df.height * 2) + "px'></div></div></div>"},fillZero: function (x) {if (x < 10) {return x = "0" + x;} else {return "" + x;}},getYear: function () {if (!this.startYear) {var y = sjObj.opt.y || 10;nowTime = new Date();for (var x = this.y, i = 0; x != 0; y > 0 ? x-- : x++, i++) {if (y < 0) {sjObj.opt.yyArr[i] = nowTime.getFullYear() + x + 1;} else {sjObj.opt.yyArr[i] = nowTime.getFullYear() + i;}}sjObj.opt.getArr()} else {if (sjObj.opt.yyArr.length > 1) {console.log("年份", sjObj.opt.yyArr);return;}var endYear = this.endYear || parseInt(sjObj.opt.y) + parseInt(this.startYear);var y = -(endYear - parseInt(this.startYear));nowTime = new Date(endYear + "/01/01");console.log("自定义起始年份", endYear, y, nowTime);for (var x = y, i = 0; y > 0 ? x != 0 : x < 1; y > 0 ? x-- : x++, i++) {if (y < 0) {sjObj.opt.yyArr[i] = nowTime.getFullYear() + x;// console.log(x, sjObj.opt.yyArr[i]);} else {sjObj.opt.yyArr[i] = nowTime.getFullYear() + i;}}sjObj.opt.getArr()}},setCenter: function () {var wid = $(window).width();var tabWid = null;var mWid = 0;$(".df-wrap table").each(function () {tabWid += parseFloat($(this).width());})if (tabWid > wid) {$(".df-wrap table").each(function () {mWid = parseFloat($(this).width()) > mWid ? parseFloat($(this).width()) : mWid;})$('.df-box').width(mWid);} else {$('.df-box').width(tabWid + 10)}},buildArrStr: function (Arr, txt, c) {var str = this.strStart(txt, c);$.each(Arr, function () {str += '<li class="df-li df-show"  data-val=' + sjObj.opt.fillZero(this) + ' style="line-height:' + sjObj.opt.height + 'px;height:' + sjObj.opt.height + 'px">' + sjObj.opt.fillZero(this) + '</li>'})// console.log(Arr)str += sjObj.opt.strEnd();return str;},buildHTml: function () {var wrap = sjObj.opt.df_wrap();sjObj.opt.t_box = sjObj.opt.df_box();var main = sjObj.opt.df_main();var persp = sjObj.opt.df_persp();// console.log(sjObj.opt.t_box);if (sjObj.opt.alwaysShow) {sjObj.opt.timeElm = eval(sjObj.opt.timeElm);// console.log(sjObj.opt.timeElm)sjObj.opt.timeElm.append(sjObj.opt.t_box.append(main.append(wrap)));} else {sjObj.opt.timeElm = $("<div class='df-persp'><div class='persp-bg'></div>");sjObj.opt.timeElm.append(sjObj.opt.t_box.append(sjObj.opt.finalshow ? sjObj.opt.df_final : "").append(main.append(wrap)).append(sjObj.opt.df_btn));$('body').append(sjObj.opt.timeElm)}if (sjObj.opt.ampmText) {main.append("<div class='df-wrap'><table><tbody><tr><td>" + sjObj.opt.buildAmPmStr() + "</tr></tbody></table></div>")}if (sjObj.opt.Format == "dd-mm-yyyy") {if (sjObj.opt.Day) $(sjObj.opt.timeElm.find('.df-wrap')[0]).find('tr').append("<td>" + sjObj.opt.buildArrStr(sjObj.opt.ddArr, sjObj.opt.dayText, "dd") + "</td>");if (sjObj.opt.Month) $(sjObj.opt.timeElm.find('.df-wrap')[0]).find('tr').append("<td>" + sjObj.opt.buildArrStr(sjObj.opt.mmArr, sjObj.opt.monthText, "mm") + "</td>");if (sjObj.opt.Year) $(sjObj.opt.timeElm.find('df-wrap')[0]).find('tr').append("<td>" + sjObj.opt.buildArrStr(sjObj.opt.yyArr, sjObj.opt.yearText, "yyyy") + "</td>");} else if (sjObj.opt.Format == "mm-dd-yyyy") {if (sjObj.opt.Month) $(sjObj.opt.timeElm.find('.df-wrap')[0]).find('tr').append("<td>" + sjObj.opt.buildArrStr(sjObj.opt.mmArr, sjObj.opt.monthText, "mm") + "</td>");if (sjObj.opt.Day) $(sjObj.opt.timeElm.find('.df-wrap')[0]).find('tr').append("<td>" + sjObj.opt.buildArrStr(sjObj.opt.ddArr, sjObj.opt.dayText, "dd") + "</td>");if (sjObj.opt.Year) $(sjObj.opt.timeElm.find('.df-wrap')[0]).find('tr').append("<td>" + sjObj.opt.buildArrStr(sjObj.opt.yyArr, sjObj.opt.yearText, "yyyy") + "</td>");} else {if (sjObj.opt.Year) $(sjObj.opt.timeElm.find('.df-wrap')[0]).find('tr').append("<td>" + sjObj.opt.buildArrStr(sjObj.opt.yyArr, sjObj.opt.yearText, "yyyy") + "</td>");if (sjObj.opt.Month) $(sjObj.opt.timeElm.find('.df-wrap')[0]).find('tr').append("<td>" + sjObj.opt.buildArrStr(sjObj.opt.mmArr, sjObj.opt.monthText, "mm") + "</td>");if (sjObj.opt.Day) $(sjObj.opt.timeElm.find('.df-wrap')[0]).find('tr').append("<td>" + sjObj.opt.buildArrStr(sjObj.opt.ddArr, sjObj.opt.dayText, "dd") + "</td>");}if (sjObj.opt.Hour) {var eml = sjObj.opt.df_wrap();$(eml).find('tr').append("<td>" + sjObj.opt.buildArrStr(sjObj.opt.hArr, sjObj.opt.hourText, "h") + "</td>")main.append(eml);}if (sjObj.opt.Hour2) {var eml = sjObj.opt.df_wrap();$(eml).find('tr').append("<td>" + sjObj.opt.buildArrStr(sjObj.opt.hArr, sjObj.opt.hour2Text, "h2") + "</td>")main.append(eml);};if (sjObj.opt.Minute) {var eml = sjObj.opt.df_wrap();$(eml).find('tr').append("<td>" + sjObj.opt.buildArrStr(sjObj.opt.mArr, sjObj.opt.minuteText, "m") + "</td>");main.append(eml);};if (sjObj.opt.Seconds) {var eml = sjObj.opt.df_wrap();$(eml).find('tr').append("<td>" + sjObj.opt.buildArrStr(sjObj.opt.sArr, sjObj.opt.secondsText, "m") + "</td>");main.append(eml);}if (sjObj.opt.showNowTime) {if (emlnum) {var val = sjObj.value, sjeml = sjObj;} else {var val = sjObj[0].value, sjeml = sjObj[0];}if (val) {// console.log("input中有值", val);// console.log(val.indexOf(" "));if (val.indexOf("/") != -1) {val = val.replace(/\//g, "-")}if (val.indexOf(" ") != -1) {var valarr = val.split(" ");} else {var valarr = [val];}// console.log("拆分后", valarr);var nyr, sfm;var str = "";if (valarr.length == 2) {nyr = valarr[0];sfm = valarr[1];str += getnyrstr(nyr) + " " + getsfmstr(sfm);} else if (valarr.length == 1 && (valarr.indexOf("-") != -1 || valarr.indexOf("/") != -1)) {str += getnyrstr(valarr[0]) + " " + getsfmstr("")// console.log("组合 2");} else {if (sjObj.opt.Year || sjObj.opt.Month || sjObj.opt.Day) {str += getnyrstr(valarr[0]) + " " + getsfmstr("")} else {str += getnyrstr("") + " " + getsfmstr(valarr[0])}console.log("组合 3");}console.log("合成字符串", str)data = new Date(str.replace(/-/g, "/"));} else {var data = new Date();}console.log(data);var year = data.getFullYear();var month = data.getMonth() + 1;var day = data.getDate();var hours = data.getHours();var Minutes = data.getMinutes();var Seconds = data.getSeconds();sjObj.opt.yyyy = fillZero(year);sjObj.opt.mm = fillZero(month);sjObj.opt.dd = fillZero(day);sjObj.opt.h = fillZero(hours);sjObj.opt.m = fillZero(Minutes);sjObj.opt.s = fillZero(Seconds);console.log(year, month, day, hours, Minutes);console.log("是否显示年", sjObj.opt.Year)if (sjObj.opt.Year) sjObj.opt.timeElm.find("[data-class='yyyy'] .df-li").each(function () {console.log(parseInt($(this).attr("data-val")), parseInt(year))if (parseInt($(this).attr("data-val")) == parseInt(year)) {var pY = -($(this).index() - 2) * sjObj.opt.height;console.log(pY, year)$(this).parent().css({"transform": "translate(0," + pY + "px)"})}})if (sjObj.opt.Month) sjObj.opt.timeElm.find("[data-class='mm'] .df-li").each(function () {if (parseInt($(this).attr("data-val")) == parseInt(month)) {var pY = -($(this).index() - 2) * sjObj.opt.height;console.log(pY, month)$(this).parent().css({"transform": "translate(0," + pY + "px)"})}})if (sjObj.opt.Day) sjObj.opt.timeElm.find("[data-class='dd'] .df-li").each(function () {if (parseInt($(this).attr("data-val")) == parseInt(day)) {var pY = -($(this).index() - 2) * sjObj.opt.height;console.log(day)$(this).parent().css({"transform": "translate(0," + pY + "px)"})}})if (sjObj.opt.Hour) sjObj.opt.timeElm.find("[data-class='h'] .df-li").each(function () {if (parseInt($(this).attr("data-val")) == parseInt(hours)) {var pY = -($(this).index() - 2) * sjObj.opt.height;$(this).parent().css({"transform": "translate(0," + pY + "px)"})}})if (sjObj.opt.Minute) sjObj.opt.timeElm.find("[data-class='m'] .df-li").each(function () {if (parseInt($(this).attr("data-val")) == parseInt(Minutes)) {var pY = -($(this).index() - 2) * sjObj.opt.height;console.log(pY, Minutes, $(this).index(), this)$(this).parent().css({"transform": "translate(0," + pY + "px)"})}})if (sjObj.opt.Seconds) sjObj.opt.timeElm.find("[data-class='m'] .df-li").each(function () {if (parseInt($(this).attr("data-val")) == parseInt(Seconds)) {var pY = -($(this).index() - 2) * sjObj.opt.height;$(this).parent().css({"transform": "translate(0," + pY + "px)"})}})} else {// console.log("使用自定义时间")if (sjObj.opt.Year) sjObj.opt.timeElm.find("[data-class='yyyy'] .df-li").each(function () {if (parseInt($(this).attr("data-val")) == parseInt(sjObj.opt.yyyy)) {var pY = -($(this).index() - 2) * sjObj.opt.height;$(this).parent().css({"transform": "translate(0," + pY + "px)"})}})if (sjObj.opt.Month) sjObj.opt.timeElm.find("[data-class='mm'] .df-li").each(function () {if (parseInt($(this).attr("data-val")) == parseInt(sjObj.opt.mm)) {var pY = -($(this).index() - 2) * sjObj.opt.height;$(this).parent().css({"transform": "translate(0," + pY + "px)"})}})if (sjObj.opt.Day) sjObj.opt.timeElm.find("[data-class='dd'] .df-li").each(function () {if (parseInt($(this).attr("data-val")) == parseInt(sjObj.opt.dd)) {var pY = -($(this).index() - 2) * sjObj.opt.height;$(this).parent().css({"transform": "translate(0," + pY + "px)"})}})if (sjObj.opt.Hour) sjObj.opt.timeElm.find("[data-class='h'] .df-li").each(function () {if (parseInt($(this).attr("data-val")) == parseInt(sjObj.opt.h)) {var pY = -($(this).index() - 2) * sjObj.opt.height;// console.log(pY, sjObj.opt.h, $(this).index())$(this).parent().css({"transform": "translate(0," + pY + "px)"})}})if (sjObj.opt.Minute) sjObj.opt.timeElm.find("[data-class='m'] .df-li").each(function () {if (parseInt($(this).attr("data-val")) == parseInt(sjObj.opt.m)) {var pY = -($(this).index() - 2) * sjObj.opt.height;console.log(pY, sjObj.opt.m, $(this).index())$(this).parent().css({"transform": "translate(0," + pY + "px)"})}})if (sjObj.opt.Seconds) sjObj.opt.timeElm.find("[data-class='m'] .df-li").each(function () {if (parseInt($(this).attr("data-val")) == parseInt(sjObj.opt.s)) {var pY = -($(this).index() - 2) * sjObj.opt.height;$(this).parent().css({"transform": "translate(0," + pY + "px)"})}})// console.log("设置默认时间")}sjObj.opt.fillData();sjObj.opt.setCenter();sjObj.opt.bindFun();},bindFun: function () {sjObj.opt.timeElm.find(".df-no").on("click", function () {$(this).parent().parent().parent().remove();sjObj.opt.onfun(sjObj);$("html").removeClass("ov_hi");})sjObj.opt.timeElm.find(".df-ok").on("click", function () {var str = "";if (sjObj.opt.Year) {str = sjObj.opt.Format.replace("yyyy", sjObj.opt.yyyy)}if (sjObj.opt.Month) {str = str.replace("mm", sjObj.opt.mm);}if (sjObj.opt.Day) {str = str.replace("dd", sjObj.opt.dd)}if (sjObj.opt.Day && sjObj.opt.Hour) {str += " ";}if (sjObj.opt.Hour) {str += sjObj.opt.h}if (sjObj.opt.Minute && sjObj.opt.Hour) {str += ":"}if (sjObj.opt.Minute) {str += sjObj.opt.m;}if (sjObj.opt.Minute && sjObj.opt.Seconds) {str += ":"}if (sjObj.opt.Seconds) {str += sjObj.opt.s;}sjObj.opt.val = sjObj.opt.isparseInt ? parseInt(str) : str;console.log("我执行了没")$(sjObj.opt.thisElm).val(sjObj.opt.val);$(this).parent().parent().parent().remove();sjObj.opt.okfun(sjObj);$("html").removeClass("ov_hi");})sjObj.opt.moveElm(sjObj.opt.timeElm.find(".G-bg"))},fillData: function () {var str = "";if (sjObj.opt.Year) {str += sjObj.opt.yyyy + '-';}if (sjObj.opt.Month) {str += sjObj.opt.mm + '-'}if (sjObj.opt.Day) {str += sjObj.opt.dd + "  "}if (sjObj.opt.Hour) {str += sjObj.opt.h + ":00 - ";}if (sjObj.opt.Hour) {str += sjObj.opt.h2 + ":00";}if (sjObj.opt.Minute) {str += sjObj.opt.m;}if (sjObj.opt.Seconds) {str += sjObj.opt.s;}if (!sjObj.opt.alwaysShow) {console.log("直接显示?", sjObj.opt.timeElm.find(".df-final"));if (sjObj.opt.isparseInt) {sjObj.opt.timeElm.find(".df-final").html(parseInt(str));} else {sjObj.opt.timeElm.find(".df-final").html(str);}} else {// console.log("啊哈哈哈哈啊?", sjObj.opt.timeElm.find(".df-final"))$(sjObj.opt.thisElm).html(str).val(str);}},vardata: function (name, val) {if (!val) {return;}if (sjObj.opt[name] != val) {sjObj.opt[name] = val;sjObj.opt.fillData();}},getFinal: function () {var currentY = 0;var str = "";if (sjObj.opt.showNowTime) {sjObj.opt.timeElm.find(".df-ul").each(function () {currentY = getTranslateY(this);var dataClass = $(this).attr("data-class");var val = $($(this).find(".df-li")[Math.round(currentY / sjObj.opt.height) + 2]).attr("data-val");sjObj.opt.vardata(dataClass, val);console.log(dataClass, val)$(this).unbind("webkitTransitionEnd").on("webkitTransitionEnd", function () {currentY = getTranslateY(this);var val = $($(this).find(".df-li")[Math.round(currentY / sjObj.opt.height) + 2]).attr("data-val");dataClass = $(this).attr("data-class");sjObj.opt.vardata(dataClass, val);sjObj.opt.daysJudge(dataClass);})})} else {sjObj.opt.timeElm.find(".df-ul").each(function () {currentY = getTranslateY(this);var dataClass = $(this).attr("data-class");var val = $($(this).find(".df-li")[Math.round(currentY / sjObj.opt.height) + 2]).attr("data-val");sjObj.opt.vardata(dataClass, val);// console.log(dataClass, val)$(this).unbind("webkitTransitionEnd").on("webkitTransitionEnd", function () {currentY = getTranslateY(this);var val = $($(this).find(".df-li")[Math.round(currentY / sjObj.opt.height) + 2]).attr("data-val");dataClass = $(this).attr("data-class");sjObj.opt.vardata(dataClass, val);sjObj.opt.daysJudge(dataClass);})})}},daysJudge: function (name) {if (name == 'mm' || name == "yyyy") {var day = new Date(sjObj.opt.yyyy, sjObj.opt.mm, 0).getDate();var l = sjObj.opt.timeElm.find('[data-class="dd"]').find(".df-show").lengthvar mubiao = day - l;// 增加if (mubiao > 0) {for (var i = 0; i < mubiao; i++) {$(sjObj.opt.timeElm.find('[data-class="dd"]').find(".df-li")[l + i]).removeClass("df-hide").addClass("df-show")}} else {// 减少var naomovey = getTranslateY(sjObj.opt.timeElm.find('[data-class="dd"]'))for (var i = 0; i > mubiao; i--) {$(sjObj.opt.timeElm.find('[data-class="dd"]').find(".df-li")[l - 1 + i]).removeClass("df-show").addClass("df-hide")}if (naomovey > (day - 1 - 2) * sjObj.opt.height) {sjObj.opt.timeElm.find('[data-class="dd"]').css({"transition": "all .5s"})sjObj.opt.timeElm.find('[data-class="dd"]').css({"transform": "translate(0," + -(day - 1 - 2) * sjObj.opt.height + "px)"})}}// 自定义的 起始月事件sjObj.opt.setstartMont(name);// 自定义的 结束月事件sjObj.opt.setendMont(name);};// 自定义的起始天sjObj.opt.setstartDay(name);// 自定义的结束天sjObj.opt.setendDay(name);},// 自定义的 起始月事件setstartMont:function(name){if(name=='yyyy'){if(sjObj.opt.yyyy==sjObj.opt.startYear){var naomovey_mm = getTranslateY(sjObj.opt.timeElm.find('[data-class="mm"]'))for (var i = 0; i < 11; i++) {$(sjObj.opt.timeElm.find('[data-class="mm"]').find(".df-li")[i]).removeClass("df-hide").addClass("df-show")}for (var i = 0; i < sjObj.opt.startMonh-1; i++) {$(sjObj.opt.timeElm.find('[data-class="mm"]').find(".df-li")[i]).removeClass("df-show").addClass("df-hide");}if ( naomovey_mm<= (sjObj.opt.startMonh-3)* sjObj.opt.height ) {sjObj.opt.timeElm.find('[data-class="mm"]').css({"transition": "all .5s"})sjObj.opt.timeElm.find('[data-class="mm"]').css({"transform": "translate(0," + -(sjObj.opt.startMonh-3)* sjObj.opt.height + "px)"})}}else{if(sjObj.opt.yyyy!=sjObj.opt.endYear) {for (var i = 0; i < 11; i++) {$(sjObj.opt.timeElm.find('[data-class="mm"]').find(".df-li")[i]).removeClass("df-hide").addClass("df-show")}}}}if(name=='mm'){if(sjObj.opt.yyyy==sjObj.opt.startYear){var naomovey_mm = getTranslateY(sjObj.opt.timeElm.find('[data-class="mm"]'))// console.log(naomovey_mm+'xxxxxxxxxxxxxx')if ( naomovey_mm<= (sjObj.opt.startMonh-3)* sjObj.opt.height ) {sjObj.opt.timeElm.find('[data-class="mm"]').css({"transition": "all .5s"})sjObj.opt.timeElm.find('[data-class="mm"]').css({"transform": "translate(0," + -(sjObj.opt.startMonh-3)* sjObj.opt.height + "px)"})}}}},// 自定义的起始天setstartDay:function(name){if(name=='mm'||name=='yyyy'){if(sjObj.opt.yyyy==sjObj.opt.startYear&&sjObj.opt.mm==sjObj.opt.startMonh){var naomovey_dd = getTranslateY(sjObj.opt.timeElm.find('[data-class="dd"]'))for (var i = 0; i < sjObj.opt.startDay-1; i++) {$(sjObj.opt.timeElm.find('[data-class="dd"]').find(".df-li")[i]).removeClass("df-show").addClass("df-hide");}if ( naomovey_dd<= (sjObj.opt.startDay-3)* sjObj.opt.height ) {sjObj.opt.timeElm.find('[data-class="dd"]').css({"transition": "all .5s"})sjObj.opt.timeElm.find('[data-class="dd"]').css({"transform": "translate(0," + -(sjObj.opt.startDay-3)* sjObj.opt.height + "px)"})}}else {if(sjObj.opt.yyyy!=sjObj.opt.endYear&&sjObj.opt.mm!=sjObj.opt.endMonh){var cdays = new Date(sjObj.opt.yyyy, sjObj.opt.mm, 0).getDate();for (var i = 0; i < cdays; i++) {$(sjObj.opt.timeElm.find('[data-class="dd"]').find(".df-li")[i]).removeClass("df-hide").addClass("df-show")}}}}if(name=='dd'){if(sjObj.opt.yyyy==sjObj.opt.startYear&&sjObj.opt.mm==sjObj.opt.startMonh){var naomovey_dd = getTranslateY(sjObj.opt.timeElm.find('[data-class="dd"]'))// console.log(naomovey_dd+'xxxxxxxxxxxxxx')if ( naomovey_dd<= (sjObj.opt.startDay-3)* sjObj.opt.height ) {sjObj.opt.timeElm.find('[data-class="dd"]').css({"transition": "all .5s"})sjObj.opt.timeElm.find('[data-class="dd"]').css({"transform": "translate(0," + -(sjObj.opt.startDay-3)* sjObj.opt.height + "px)"})}}}},// 自定义的 结束月事件setendMont:function(name){if(name=='yyyy'){if(sjObj.opt.yyyy==sjObj.opt.endYear){var naomovey_mmend = getTranslateY(sjObj.opt.timeElm.find('[data-class="mm"]'))for (var i = 0; i < 11; i++) {$(sjObj.opt.timeElm.find('[data-class="mm"]').find(".df-li")[i]).removeClass("df-hide").addClass("df-show")}for (var i = parseFloat(sjObj.opt.endMonh); i < 11; i++) {$(sjObj.opt.timeElm.find('[data-class="mm"]').find(".df-li")[i]).removeClass("df-show").addClass("df-hide");}if ( naomovey_mmend> (sjObj.opt.endMonh-3)* sjObj.opt.height ) {sjObj.opt.timeElm.find('[data-class="mm"]').css({"transition": "all .5s"})sjObj.opt.timeElm.find('[data-class="mm"]').css({"transform": "translate(0," + -(sjObj.opt.endMonh-3)* sjObj.opt.height + "px)"})}}else{if(sjObj.opt.yyyy!=sjObj.opt.startYear){for (var i = 0; i < 11; i++) {$(sjObj.opt.timeElm.find('[data-class="mm"]').find(".df-li")[i]).removeClass("df-hide").addClass("df-show")}}}}if(name=='mm'){if(sjObj.opt.yyyy==sjObj.opt.endYear){var naomovey_mmend = getTranslateY(sjObj.opt.timeElm.find('[data-class="mm"]'))console.log(naomovey_mmend+'xxxxxxxxxxxxxx')if ( naomovey_mmend> (sjObj.opt.endMonh-3)* sjObj.opt.height ) {sjObj.opt.timeElm.find('[data-class="mm"]').css({"transition": "all .5s"})sjObj.opt.timeElm.find('[data-class="mm"]').css({"transform": "translate(0," + -(sjObj.opt.endMonh-3)* sjObj.opt.height + "px)"})}}}},// 自定义的结束天setendDay:function(name){if(name=='mm'||name=='yyyy'){// console.log(sjObj.opt.mm)if(sjObj.opt.yyyy==sjObj.opt.endYear&&sjObj.opt.mm==parseFloat(sjObj.opt.endMonh)){var naomovey_dd_day = getTranslateY(sjObj.opt.timeElm.find('[data-class="dd"]'))for (var i = 0; i < 31; i++) {$(sjObj.opt.timeElm.find('[data-class="dd"]').find(".df-li")[i]).removeClass("df-hide").addClass("df-show");}for (var i = parseFloat(sjObj.opt.endDay); i < 31; i++) {$(sjObj.opt.timeElm.find('[data-class="dd"]').find(".df-li")[i]).removeClass("df-show").addClass("df-hide");}if ( naomovey_dd_day>= (sjObj.opt.endDay-3)* sjObj.opt.height ) {sjObj.opt.timeElm.find('[data-class="dd"]').css({"transition": "all .5s"})sjObj.opt.timeElm.find('[data-class="dd"]').css({"transform": "translate(0," + -(sjObj.opt.endDay-3)* sjObj.opt.height + "px)"})}}else {if(sjObj.opt.yyyy!=sjObj.opt.startYear&&sjObj.opt.mm!=sjObj.opt.startMonh) {var cdays = new Date(sjObj.opt.yyyy, sjObj.opt.mm, 0).getDate();for (var i = 0; i < cdays; i++) {$(sjObj.opt.timeElm.find('[data-class="dd"]').find(".df-li")[i]).removeClass("df-hide").addClass("df-show")}}}}if(name=='dd'){if(sjObj.opt.yyyy==sjObj.opt.endYear&&sjObj.opt.mm==sjObj.opt.endMonh){var naomovey_dd_day = getTranslateY(sjObj.opt.timeElm.find('[data-class="dd"]'))// console.log(naomovey_dd_day+'xxxxxxxxxxxxxx')if ( naomovey_dd_day>= (sjObj.opt.endDay-3)* sjObj.opt.height ) {sjObj.opt.timeElm.find('[data-class="dd"]').css({"transition": "all .5s"})sjObj.opt.timeElm.find('[data-class="dd"]').css({"transform": "translate(0," + -(sjObj.opt.endDay-3)* sjObj.opt.height + "px)"})}}}},moveElm: function (eml) {var classNameyyy=$(eml[0].offsetParent).find('ul').attr('data-class');var classNamemm=$(eml[1].offsetParent).find('ul').attr('data-class');var classNamedd=$(eml[2].offsetParent).find('ul').attr('data-class');return $(eml).each(function () {var sX = null, sY = null, mX = null, mY = null, eX = null, eY = null, sTime = null,eTime = null, mTime = null, nTime = null, nY = 0, drt = null, nowElm = null,canStart = true, canMove = false, canEnd = false, emlLang = null, maxY = null, minY = null,lastY = null, nowY = null, moveY = null, stopInertiaMove = false, SE = null, ME = null,EE = null, moveCy = 0;var stop = function (e) {if (e.preventDefault)e.preventDefault();e.returnValue = false;}var moveStart = function (e) {// console.log(e);stop(e);if (!canStart) {return}if (e.originalEvent.touches) {SE = e.originalEvent.targetTouches[0]} else {SE = e;}sX = SE.pageX;sY = SE.pageY;nowElm = $(this).prev(".df-ul");emlLang = nowElm.find(".df-show").length;lastY = sY;nY = getTranslateY(nowElm);// console.log("移动开始时", e,nY);sTime = new Date().getTime();if (!canMove && canEnd) {return false}canStart = falsecanMove = false;stopInertiaMove = true;$(window).on("touchmove", function (e) {if (stopInertiaMove) {e.preventDefault();}})};var moveing = function (e) {stop(e);if (e.originalEvent.touches) {ME = e.originalEvent.targetTouches[0]} else {ME = e;}mTime = new Date().getTime();mX = ME.pageX;mY = ME.pageY;drt = GetSlideDirection(sX, sY, mX, mY);if ((drt == 1 || drt == 2) && !canStart) {canMove = true;canEnd = true;stopInertiaMove = true;}if (canMove) {nowElm.css({"transition": "none"})nowElm.css({"transform": "translate(0," + -(nY - (mY - sY)) + "px)"})sjObj.opt.getFinal();}if (mTime - sTime > 300) {// console.log("移动后加速")sTime = mTime;lastY = mY;}};var moveEnd = function (e) {stop(e);// 我们根据 event事件 找到滑动的 是 年还是月 还是日// console.log($(e.currentTarget).siblings('.df-ul').attr('data-class'))var etarget=$(e.currentTarget).siblings('.df-ul').attr('data-class');if (e.originalEvent.touches) {EE = e.originalEvent.changedTouches[0]} else {EE = e;}eX = EE.pageX;eY = EE.pageY;maxY = sjObj.opt.height * 2;// minY = -(emlLang - 3) * sjObj.opt.height;// 1dian 这里是控制最大下拉距离的if(sjObj.opt.yyyy==sjObj.opt.startYear&&etarget=='mm'){minY = -(12 - 3) * sjObj.opt.height;} else if(sjObj.opt.yyyy==sjObj.opt.startYear&&sjObj.opt.mm==sjObj.opt.startMonh&&etarget=='dd'){var cday = new Date(sjObj.opt.yyyy, sjObj.opt.startMonh, 0).getDate();minY = -(cday - 3) * sjObj.opt.height;}else if(sjObj.opt.yyyy==sjObj.opt.endYear&&etarget=='mm'){minY = -(sjObj.opt.endMonh-3)* sjObj.opt.height;}else if(sjObj.opt.yyyy==sjObj.opt.endYear&&sjObj.opt.mm==sjObj.opt.endMonh&&etarget=='dd'){var cday = new Date(sjObj.opt.yyyy, sjObj.opt.endMonh, 0).getDate();minY = -(cday - 3) * sjObj.opt.height;}else{minY = -(emlLang - 3) * sjObj.opt.height;}if (canEnd) {canMove = false;canEnd = false;canStart = true;nY = -(nY - (mY - sY));nowY = eY;if (nY > maxY) {nowElm.css({"transition": "all .5s"})nowElm.css({"transform": "translate(0," + maxY + "px)"})} else if (nY < minY) {nowElm.css({"transition": "all .5s"})nowElm.css({"transform": "translate(0," + minY + "px)"})return ;} else {eTime = new Date().getTime();var speed = ((nowY - lastY) / (eTime - sTime));stopInertiaMove = false;(function (v, startTime, contentY) {// contentY 滑动的距离// dir -1往上滑// dir 1往下滑var dir = v > 0 ? -1 : 1;var deceleration = dir * 0.001;function inertiaMove() {if (stopInertiaMove)return;var nowTime = new Date().getTime();// t 是时间差var t = nowTime - startTime;// nowY 是现在的速度var nowV = v + t * deceleration;// 移动的距离  suduvar moveY = (v + nowV) / 2 * t;if (dir * nowV > 0) {// console.log(moveCy,minY,sjObj.opt.minY)if (moveCy > sjObj.opt.maxY) {console.log('moveCy大于'+moveCy)nowElm.css({"transition": "all .5s"})sjObj.opt.nowElm.css({"transform": "translate(0," + sjObj.opt.maxY + "px)"})} else if (moveCy < sjObj.opt.minY) {console.log('moveCy小于'+moveCy)nowElm.css({"transition": "all .5s"})nowElm.css({"transform": "translate(0," + sjObj.opt.minY + "px)"})} else {var MC = Math.round(moveCy / sjObj.opt.height)// console.log('MC:'+MC)// 2dian 这里是第二个关键点if(sjObj.opt.yyyy==sjObj.opt.startYear&&etarget=='mm'){if (MC > 2) {MC = 2} else if (MC < -(12 - 1) + 2) {MC = -(12 - 1) + 2}// console.log('mm+,'+MC)}else if(sjObj.opt.yyyy==sjObj.opt.endYear&&etarget=='mm'){if (MC > 2) {MC = 2} else if (MC < -sjObj.opt.endMonh) {MC = -(sjObj.opt.endMonh-3)}console.log('endmonth:'+MC)}else if(sjObj.opt.yyyy==sjObj.opt.startYear&&sjObj.opt.mm==sjObj.opt.startMonh&&etarget=='dd'){var cday = new Date(sjObj.opt.yyyy, sjObj.opt.startMonh, 0).getDate();if (MC > 2) {MC = 2} else if (MC < -(cday-1 ) + 2) {MC = -(cday-1) + 2}// console.log('dd:'+MC,cday)}else if(sjObj.opt.yyyy==sjObj.opt.endYear&&sjObj.opt.mm==sjObj.opt.endtMonh&&etarget=='dd'){var cday = new Date(sjObj.opt.yyyy, sjObj.opt.endMonh, 0).getDate();if (MC > 2) {MC = 2} else if (MC < -(cday-1 ) + 2) {MC = -(cday-1) + 2}console.log('eeenddd:'+MC,cday)}else{if (MC > 2) {MC = 2} else if (MC < -(emlLang - 1) + 2) {MC = -(emlLang - 1) + 2}// console.log('else:'+MC,cday)}console.log('reslut:'+MC)nowElm.css({"transition": "all .4s"});nowElm.css({"transform": "translate(0," + sjObj.opt.height * MC + "px)"})}sjObj.opt.getFinal();return}moveCy = (contentY + moveY)// console.log('moveCy'+moveCy)if (moveCy > (maxY + (sjObj.opt.height * 2))) {nowElm.css({"transition": "all .5s"})nowElm.css({"transform": "translate(0," + maxY + "px)"})return} else if (moveCy < (minY - (sjObj.opt.height * 2))) {nowElm.css({"transition": "all .5s"})nowElm.css({"transform": "translate(0," + minY + "px)"})return}nowElm.css({"transform": "translate(0," + moveCy + "px)"})sjObj.opt.getFinal();var timers = setTimeout(inertiaMove, 10);}inertiaMove();})(speed, eTime, nY);}// console.log("移动结束", EE)}}// console.log("开始绑定事件", $(this))$(this).unbind("touchstart mousedown").on("touchstart mousedown", moveStart)$(this).unbind("touchmove").on("touchmove", moveing)$(this).unbind("touchend").on("touchend", moveEnd)$(document).on("mousemove", moveing)$(document).on("mouseup", moveEnd)})},};sjObj.opt = $.extend({}, sjObj.defaults, opt);var GetSlideAngle = function (dx, dy) {return Math.atan2(dy, dx) * 180 / Math.PI;};function getnyrstr(str) {var r = sjObj.opt.Format;var valarr = str.split("-");console.log(valarr, str);if (valarr.length == 3) {r = r.replace("yyyy", valarr[0]);r = r.replace("mm", valarr[1]);r = r.replace("dd", valarr[2]);} else if (valarr.length == 2) {if (sjObj.opt.Year && !sjObj.opt.Month) {r = r.replace("yyyy", valarr[0]);r = r.replace("mm", sjObj.opt.mm);r = r.replace("dd", valarr[1]);} else if (sjObj.opt.Year && !sjObj.opt.Day) {r = r.replace("yyyy", valarr[0]);r = r.replace("mm", valarr[1]);r = r.replace("dd", sjObj.opt.dd);} else if (!sjObj.opt.Year) {r = r.replace("yyyy", sjObj.opt.yyyy);r = r.replace("mm", valarr[0]);r = r.replace("dd", valarr[1]);}} else if (valarr.length == 1) {if (sjObj.opt.Year) {r = r.replace("yyyy", valarr[0]);r = r.replace("mm", sjObj.opt.mm);r = r.replace("dd", sjObj.opt.dd);} else if (sjObj.opt.Month) {r = r.replace("yyyy", sjObj.opt.yyyy);r = r.replace("mm", valarr[0]);r = r.replace("dd", sjObj.opt.dd);} else if (sjObj.opt.Day) {r = r.replace("yyyy", sjObj.opt.yyyy);r = r.replace("mm", sjObj.opt.mm);r = r.replace("dd", valarr[0]);} else {r = r.replace("yyyy", sjObj.opt.yyyy);r = r.replace("mm", sjObj.opt.mm);r = r.replace("dd", sjObj.opt.dd);}};console.log("返回年月日", r);return r;}function getsfmstr(str) {var r = sjObj.opt.timeFormat;console.log(r);var valarr = str.split(":");if (valarr.length == 3) {r = r.replace("h", valarr[0]);r = r.replace("m", valarr[1]);r = r.replace("s", valarr[2]);} else if (valarr.length == 2) {if (sjObj.opt.Hour && !sjObj.opt.Minute) {r = r.replace("h", valarr[0]);r = r.replace("m", sjObj.opt.m);r = r.replace("s", valarr[1]);} else if (sjObj.opt.Hour && !sjObj.opt.Seconds) {r = r.replace("h", valarr[0]);r = r.replace("m", valarr[1]);r = r.replace("s", sjObj.opt.s);} else if (!sjObj.opt.Hour) {r = r.replace("h", sjObj.opt.h);r = r.replace("m", valarr[0]);r = r.replace("s", valarr[1]);}} else if (valarr.length == 1) {if (sjObj.opt.Hour) {r = r.replace("h", valarr[0]);r = r.replace("m", sjObj.opt.m);r = r.replace("s", sjObj.opt.s);} else if (sjObj.opt.Minute) {r = r.replace("h", sjObj.opt.h);r = r.replace("m", valarr[0]);r = r.replace("s", sjObj.opt.s);} else if (sjObj.opt.Hour) {r = r.replace("h", sjObj.opt.h);r = r.replace("m", sjObj.opt.m);r = r.replace("s", valarr[0]);} else {r = r.replace("h", sjObj.opt.h);r = r.replace("m", sjObj.opt.m);r = r.replace("s", sjObj.opt.s);}};console.log("返回时分秒", r);return r;}var GetSlideDirection = function (startX, startY, endX, endY) {var dy = startY - endY;var dx = endX - startX;var result = 0;if (Math.abs(dx) < 2 && Math.abs(dy) < 2) {return result;}var angle = GetSlideAngle(dx, dy);if (angle >= -45 && angle < 45) {result = 4;} else if (angle >= 45 && angle < 135) {result = 1;} else if (angle >= -135 && angle < -45) {result = 2;}else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {result = 3;}return result;};var getTranslateY = function (eml) {var matrix = $(eml).css("transform");// console.log("获取到的transform", matrix)var T;if (matrix == "none") {T = 0;} else {var arr = matrix.split(",")T = -(arr[5].split(")")[0]);}// console.log("返回的transform", T)return T}sjObj.innt = function () {if (!sjObj.opt.alwaysShow) {$(this).on("click", function (e) {e.stopPropagation();sjObj.opt.thisElm = this;switch (sjObj.opt.type) {case "time":$("html").addClass("ov_hi");$(this).blur();sjObj.opt.getYear();sjObj.opt.buildHTml();sjObj.opt.getFinal();break;}})} else {sjObj.opt.thisElm = this;// console.log("直接显示")sjObj.opt.getYear();sjObj.opt.buildHTml();}$(window).on("resize", function () {// console.log("窗口大小改变")sjObj.opt.setCenter()})}sjObj.innt();return sjObj}if (this.length > 1) {console.log("多个")var arr = []$.each(this, function () {arr.push(cPlugin(this, true))})return arr} else {// console.log("一个")obj = cPlugin(this);// console.log("一个时间对象", obj);return obj}}
})(jQuery)

  

转载于:https://www.cnblogs.com/gaidalou/p/10998854.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/837.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息