有些js代碼,的確寫的很齷齪,最近在接觸類似js的MVC之類的架構,避免了js碰到很多代碼的時候,就會出現很多問題。主要是維護的問題,
而對於js的MVC編寫方式,z可以參考類似requireJs.js, JavascriptMVC, Backbone.js
function getTime(p){<br />var y= parseInt(year);<br />var m= strToInt(month);<br />var d= strToInt(day);<br />switch(p) {<br />case 'threeDays' :<br />return date3.substr(0,4) + '-' + date3.substr(4,2) + '-' + date3.substr(6,2);<br />case 'oneWeek' :<br />return date5.substr(0,4) + '-' + date5.substr(4,2) + '-' + date5.substr(6,2);<br />case 'oneMonth' :<br />d= d + 1;<br />m= m - 1;<br />break;<br />case 'threeMonths' :<br />d= d + 1;<br />m = m - 3;<br />break;<br />case 'sixthMonths' :<br />d= d + 1;<br />m = m - 6;<br />break;<br />case 'oneYear':<br />d= d + 1;<br />y = y - 1;<br />break;<br />default:<br />return yesday;<br />}<br />if (d < 10) {<br />d = "0" + d;<br />}<br />switch(m) {//為了防止出現類似2010-02-28之類的日期<br />case 1:<br />case 3:<br />case 5:<br />case 7:<br />case 8:<br />case 10:<br />if (d > 31) {<br />m = m + 1;<br />d = '01';<br />}<br />break;<br />case 2:<br />if (y % 400 == 0 || ((y % 4 == 0) && y % 100 != 0)) {//閏年<br />if (d > 29) {<br />d = '01';<br />m = 3;<br />}<br />} else {<br />if (d > 28) {<br />d = '01';<br />m = 3;<br />}<br />}<br />break;<br />case 4:<br />case 6:<br />case 9:<br />case 11:<br />if (d > 30) {<br />m = m + 1;<br />d = "01";<br />}<br />break;<br />case 12:<br />if (d > 31) {<br />m= '01';<br />d= '01';<br />y += 1;<br />}<br />break;<br />}<br />if (m < 10) {<br />m = "0" + m;<br />}<br />date = y + "-" + m + "-" + d;<br />// ////alert("date=" + date);<br />return date;<br />}
下面可以判斷頁面的單擊,還是雙擊:
$("#body>tr").live("click", function(){testClickBody(this)});<br />$("#body>tr").live("dblclick", function(){testClickBody(this)});<br />$("#body2>tr").live("click", function(){testClickBody2(this)});<br />$("#body2>tr").live("dblclick",function(){testClickBody2(this)});</p><p>function testClickBody(param)<br />{<br />if(!flag1)<br />{<br />setTimeout(function(){render(param);},500);<br />}<br />flag1++;<br />}<br />function reset()<br />{<br />flag1=0;<br />}<br />function singleClick(param)<br />{<br />$(param).addClass("select_bg");<br />var bkId = $(param).attr("id");//板塊的代碼<br />if (bkId != window.select1) {<br />$("#" + window.select1).removeClass("select_bg");<br />window.select1 = bkId;<br />}<br />setTimeout(function(){<br />showBkLoading("loading");<br />bkInteraction(bkId);<br />reset();<br />}, 1);<br />}<br />function doubleClick(param)<br />{<br />var id = $(param).attr("id");<br />var quote = external.createObject("Quote");<br />var obj= {};<br />obj.id = 379;<br />obj.code = id;<br />obj.period= 68040;<br />quote.switchPage(obj);<br />reset();<br />}<br />function render(param)<br />{<br />if(flag1==1)<br />{<br />singleClick(param);<br />}<br />else<br />{<br />doubleClick(param);<br />}<br />} </p><p>function testClickBody2(param)<br />{<br />if(!flag2)<br />{<br />setTimeout(function(){render2(param);},300);<br />}<br />flag2++;<br />}<br />function reset2()<br />{<br />flag2=0;<br />}<br />function singleClick2(param)<br />{<br />$(param).addClass("select_bg");<br />var ggId = $(param).attr("id");<br />$("#" + window.select2).removeClass("select_bg");<br />setTimeout(function(){<br />window.select2 = ggId;<br />ggInteraction(ggId);<br />reset2();<br />}, 1);<br />} </p><p>function doubleClick2(param)<br />{<br />var id = $(param).attr("id");<br />var quote = external.createObject("Quote");<br />var obj= {};<br />obj.id = 379;<br />obj.code = id;<br />obj.period= 68040;<br />quote.switchPage(obj);<br />reset2();<br />}<br />function render2(param)<br />{<br />if(flag2==1)<br />{<br />singleClick2(param);<br />}<br />else<br />{<br />doubleClick2(param);<br />}<br />}