先上效果图:
动作:向前翻一页,显示为 2016年第1周;向后翻一页,显示为 2016年第3周
动作2:日期与数据关联
html:
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <!--mui--> <link rel="stylesheet" href="../css/mui.css"> <script src="../js/mui.js"></script> <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.min.js"></script> <script src="../js/common/common.js"></script> <script src="../js/chatted_analyse/information_week.js"></script> <link rel="stylesheet" href="../css/integral_active/integral.active.css"> <style> .mui-segmented-control.mui-scroll-wrapper .mui-control-item{ padding:0 20px; } @media only screen and (min-width: 320px) { .mui-segmented-control.mui-scroll-wrapper .mui-control-item{ padding:0 28px; } } @media only screen and (min-width: 360px) { .mui-segmented-control.mui-scroll-wrapper .mui-control-item{ padding:0 33px; } } @media only screen and (min-width: 375px) { .mui-segmented-control.mui-scroll-wrapper .mui-control-item{ padding:0 38px; } } @media only screen and (min-width: 414px) { .mui-segmented-control.mui-scroll-wrapper .mui-control-item{ padding:0 44px; } } .ReportDiv{ width: 100%; float: left; height: 300px; margin-top: 60px; } .headerDiv { background-color: #efeff4; } </style> </head> <body> <header class="mui-bar mui-bar-nav"> <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a> <h1 id="周聊天消息分析">周聊天消息分析</h1> </header> <!--日期的容器--> <div class="headerDiv"> <div id="previousDiv" class="previousImgDiv"></div> <div id="nextDiv" class="unNextImgDiv" ></div> <div id="headerTitleDiv" class="titleDiv"><input id="title" type="text" style="background-color:#f0f0f0;border:none;font-size: 20px;text-align:center;"/></div> </div> <!--图表的容器--> <div id="scroll_view" class="mui-scroll-wrapper" style="top:44px"> <div id="warp" class="mui-scroll"> <div id="emptyDiv" class="emptyDiv" style="display: none;">暂无数据</div> <div id="pie_information_week" class="ReportDiv"></div> <div id="bar_information_week" class="ReportDiv"></div> </div> </div> <!--echarts--> <script src="../js/dist/echarts.js"></script> <script src="../js/dist/chart/bar.js"></script> <script src="../js/dist/chart/pie.js"></script> <script src="../js/dist/echarts-all.js"></script> </body> <script type="text/javascript"> mui.init(); mui('.mui-scroll-wrapper').scroll(); </script> </html>
这么多代码只要看一个地方就OK了,这里有三个DIV,分别是:
previousDiv 上一页ID
nextDiv 下一页ID
<strong>headerTitleDiv 日期容器ID 日期是需要放在input里的, ID为title日期的形式是day, input的type='text',不可以是其它,否则,title不显示日期</strong>
<!--日期的容器--> <div class="headerDiv"> <div id="previousDiv" class="previousImgDiv"></div> <div id="nextDiv" class="unNextImgDiv" ></div> <div id="headerTitleDiv" class="titleDiv"><input id="title" type="text" style="background-color:#f0f0f0;border:none;font-size: 20px;text-align:center;"/></div> </div>
下面是JS的部分:
1、自定义变量
var previousDiv;var nextDiv;var headerTitleDiv;var title;//拼日期var currentWeek = theWeek();var defaultWeek = theWeek();var currentYear = theYear();var defautlYear = theYear();//监听上一页与下一页的点击事件var previousDivTapEvent;var nextDivTapEvent;
2、变量初始化:
$(document).ready(function(){ previousDiv = document.getElementById('previousDiv'); nextDiv = document.getElementById('nextDiv'); headerTitleDiv = document.getElementById('headerTitleDiv'); title = document.getElementById('title'); title.value = formartWeek(); //给前一页加点击事件,并监听它 previousDiv.addEventListener('tap', previousDivTapEvent); $(title).on('input', function(){ if(this.value.length == 0){ this.value.length = formartWeek(new Date()); }else{ if(checkCanDoNext()){ fetchDate(); return; } } }); }
3、前一天监听事件( fetchDate(); 日期与数据关联的方法,调用这个方法,可以取得与日期关联的数据 ):
function previousDivTapEvent(){ resetNextEvent(); nextDiv.className = 'nextImgDiv'; title.value = getPreviousWeek(title.value); //fetchDate(); 日期与数据关联的方法,调用这个方法,可以取得与日期关联的数据 fetchDate();}
4、下一天监听事件:
function nextDivTapEvent(){ resetPreviousEvent(); title.value = getNextWeek(); fetchDate(); if(checkCanDoNext){ nextDiv.removeEventListener('tap',nextDivTapEvent); return; }}
5、获取上一周,并返回
function getPreviousWeek(){ //当前周减去一周currentWeek--; currentWeek--; if(currentWeek < 1){ currentYear--; currentWeek = 52; } return formartWeek();}
6、获取下一周,并返回
function getNextWeek(){ //当前周加上一周主是下一周 currentWeek ++; //如果当前周大于52周,满一年,当前年加一年,新的一年,第一周 if(currentWeek > 52){ currentYear ++; currentWeek = 1; } return formartWeek();}
7、判断,如果下一页有数据,则,可以点击进入下一页,如果没有数据,按钮不可点击
function checkCanDoNext(){ if(defaultWeek <= currentWeek && defautlYear <= currentYear){ title.value = formartWeek(); nextDiv.className = 'unNextImgDiv'; nextDiv.removeEventListener('tap',nextDivTapEvent); return true; }else{ resetNextEvent(); nextDiv.className = 'nextImgDiv'; return false; }}
8、重置上一页的监听事件,先给按钮加一个图片class;
先删除原来的事件,再加上新的事件
function resetPreviousEvent(){ previousDiv.className = 'previousImgDiv'; previousDiv.removeEventListener('tap',previousDivTapEvent); previousDiv.addEventListener('tap',previousDivTapEvent);}
9、重置下一页的监听事件,方法同上
function resetNextEvent(){ nextDiv.className = 'nextImgDiv'; nextDiv.removeEventListener('tap',nextDivTapEvent); nextDiv.addEventListener('tap',nextDivTapEvent);}
10、格式化日期,以自定义方式返回
function formartWeek(){ return currentYear + "年 第 " + currentWeek + "周";}
11、获取当前年份
function theYear(){ var now = new Date(); years = now.getFullYear(); return years;}
12、获取当前周,并判断是否为闰年,针对2月的天数进行计算
function theWeek(){ var totalDays = 0; now = new Date(); years = now.getYear() if (years < 1000) years += 1900 var days = new Array(12); days[0] = 31; days[2] = 31; days[3] = 30; days[4] = 31; days[5] = 30; days[6] = 31; days[7] = 31; days[8] = 30; days[9] = 31; days[10] = 30; days[11] = 31; //判断是否为闰年,针对2月的天数进行计算 if (Math.round(now.getYear() / 4) == now.getYear() / 4) { days[1] = 29 } else { days[1] = 28 } if (now.getMonth() == 0) { totalDays = totalDays + now.getDate(); } else { var curMonth = now.getMonth(); for (var count = 1; count <= curMonth; count++) { totalDays = totalDays + days[count - 1]; } totalDays = totalDays + now.getDate(); } //得到第几周 var week = Math.round(totalDays / 7); return week;}
以上为周日期的方法,需要注意以下几点:
- html中input的类型为text
<div id="headerTitleDiv" class="titleDiv"><input id="title" type="text" style="background-color:#f0f0f0;border:none;font-size: 20px;text-align:center;"/></div>
2. 前一页与后一页的点击事件中,可以加入与数据关联的方法,在点击进入下一页时,自动获取相应的数据
3. 给title添加input事件时,需要写一个判断:当前值 = 周日期的返回的方法。如果下一页有数据,才可以点击进入下一页:
$(title).on('input', function(){ if(this.value.length == 0){ this.value.length = formartWeek(new Date()); }else{ if(checkCanDoNext()){ fetchDate(); return; } } });

HTML、CSS和JavaScript在Web開發中的作用分別是:1.HTML定義網頁結構,2.CSS控製網頁樣式,3.JavaScript添加動態行為。它們共同構建了現代網站的框架、美觀和交互性。

HTML的未來充滿了無限可能。 1)新功能和標準將包括更多的語義化標籤和WebComponents的普及。 2)網頁設計趨勢將繼續向響應式和無障礙設計發展。 3)性能優化將通過響應式圖片加載和延遲加載技術提升用戶體驗。

HTML、CSS和JavaScript在網頁開發中的角色分別是:HTML負責內容結構,CSS負責樣式,JavaScript負責動態行為。 1.HTML通過標籤定義網頁結構和內容,確保語義化。 2.CSS通過選擇器和屬性控製網頁樣式,使其美觀易讀。 3.JavaScript通過腳本控製網頁行為,實現動態和交互功能。

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增強WebevebDevelopment。

HTML是構建網頁結構的基石。 1.HTML定義內容結構和語義,使用、、等標籤。 2.提供語義化標記,如、、等,提升SEO效果。 3.通過標籤實現用戶交互,需注意表單驗證。 4.使用、等高級元素結合JavaScript實現動態效果。 5.常見錯誤包括標籤未閉合和屬性值未加引號,需使用驗證工具。 6.優化策略包括減少HTTP請求、壓縮HTML、使用語義化標籤等。

HTML是一種用於構建網頁的語言,通過標籤和屬性定義網頁結構和內容。 1)HTML通過標籤組織文檔結構,如、。 2)瀏覽器解析HTML構建DOM並渲染網頁。 3)HTML5的新特性如、、增強了多媒體功能。 4)常見錯誤包括標籤未閉合和屬性值未加引號。 5)優化建議包括使用語義化標籤和減少文件大小。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML的作用是通過標籤和屬性定義網頁的結構和內容。 1.HTML通過到、等標籤組織內容,使其易於閱讀和理解。 2.使用語義化標籤如、等增強可訪問性和SEO。 3.優化HTML代碼可以提高網頁加載速度和用戶體驗。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

記事本++7.3.1
好用且免費的程式碼編輯器

WebStorm Mac版
好用的JavaScript開發工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)