实例介绍
【实例简介】
qq时光轴案例
【实例截图】
【核心代码】
| var nav = EO.$("#left"); | |
| var adv = EO.$("#adv"); | |
| var right = EO.$("#right"); | |
| data.sort(function (a,b) { | |
| return new Date(b.date).getTime()-new Date(a.date).getTime(); | |
| }); | |
| var obj = []; | |
| // console.log(data); | |
| data.forEach(function (el) { | |
| var d = new Date(el.date); | |
| var y = d.getFullYear(); | |
| var m = d.getMonth() 1; | |
| if (!obj[y])obj[y]={}; | |
| if (!obj[y][m]) obj[y][m]=[]; | |
| var snl=GetLunarDateString(d); | |
| el.nl=snl[0] '<br>' snl[1]; | |
| el.very=(el.like/10000).toFixed(1) '万人觉得很赞'; | |
| obj[y][m].push(el) | |
| }); | |
| var arr =[]; | |
| for(var y in obj){ | |
| var str = `<dl class="year"><dt>${y}年</dt>`; | |
| var arr_m=[]; | |
| for (var m in obj[y]){ | |
| arr_m.unshift(`<dd class='month'>${m}月</dd>`); | |
| } | |
| str =arr_m.join('') `</dl>`; | |
| arr.unshift(str); | |
| } | |
| nav.innerHTML=arr.join(''); | |
| var years_l =EO.$("#left dl"); | |
| var months_l =EO.$("#left dd"); | |
| years_l[0].classList.add("on"); | |
| months_l[0].classList.add("on"); | |
| arr=[]; | |
| var temp = EO.$("#temp").innerHTML; | |
| for(y in obj ){ | |
| str = `<dl class="year"><dt>${y}年</dt>`; | |
| arr_m=[]; | |
| var str1=''; | |
| for(m in obj[y]){ | |
| str1=`<dd class='month' data-month='${m}月'>`; | |
| obj[y][m].forEach(function (d) { | |
| str1 =temp.replace("{nl}",d.nl).replace("{date}",d.date) | |
| .replace("{intro}",d.intro).replace("{img}",d.media) | |
| .replace("{like}",d.like).replace("{comment}",d.comment) | |
| .replace("{verylike}",d.very) | |
| }); | |
| arr_m.unshift(str1 "</dd>"); | |
| } | |
| str =arr_m.join('') '</dl>'; | |
| arr.unshift(str); | |
| } | |
| right.innerHTML=arr.join(''); | |
| scoll(); | |
| function scoll() { | |
| if (EO.getScroll(document).top>adv.offsetHeight){ | |
| nav.style.position='fixed'; | |
| nav.style.top='80px'; | |
| } | |
| else { | |
| nav.style.position=''; | |
| nav.style.top=''; | |
| right.style.marginLeft=""; | |
| } | |
| } | |
| var years_r =EO.$("#right dl"); | |
| var months_r =EO.$("#right dd"); | |
| years_l.forEach(function (el,i) { | |
| el.i=i | |
| }); | |
| months_l.forEach(function (el,i) { | |
| el.i=i | |
| }); | |
| EO.agentArr(nav,['dd','dt'],'click',function () { | |
| if (this.nodeName==="DT"){ | |
| var dl =this.parentNode; | |
| var i = dl.i; | |
| change(window,years_r[i].offsetTop-80,30,10) | |
| }else { | |
| var i = this.i; | |
| change(window,months_r[i].offsetTop-80,30,10) | |
| } | |
| }); | |
| window.onscroll=function () { | |
| scoll(); | |
| var i = 0; | |
| while (i<years_l.length && years_r[i].offsetTop-120<EO.getScroll(document).top){ | |
| i ; | |
| } | |
| i>0?--i:i; | |
| EO.clearClass(years_l,'on'); | |
| years_l[i].classList.add("on"); | |
| i=0; | |
| while (i < months_l.length && months_r[i].offsetTop-100<EO.getScroll(document).top){ | |
| i | |
| } | |
| i>0?--i:i; | |
| EO.clearClass(months_l,'on'); | |
| months_l[i].classList.add("on"); | |
| }; |
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论