// 形成独立作用于 (function () { // 顶部导航菜单 var headerMenu = [ { title: '头条', type: 'top' }, { title: '社会', type: 'shehui' }, { title: '国内', type: 'guoji' }, { title: '娱乐', type: 'yule' }, { title: '体育', type: 'tiyu' }, { title: '军事', type: 'junshi' }, { title: '科技', type: 'keji' }, { title: '财经', type: 'caijing' }, { title: '时尚', type: 'shishang' } ]; // ajax 获取数据 type 分类的拼音名 function GetData(type) { ajax({ data: { type: type }, success: function (res) { RenderList(res.result.data) } }) } /** * 根据你传递过来的数据,帮你渲染新闻列表页面 * @param {*} list */ function RenderList (list) { document.querySelector(".content").innerHTML = "" list.forEach(function(val){ // 如果是两张图和三张图的情况统一使用三张图的html布局 if(val.hasOwnProperty("thumbnail_pic_s02")) { document.querySelector(".content").innerHTML +=`

${val.title}

${val.hasOwnProperty("thumbnail_pic_s03") ? `` : ''}

${val.author_name} ${val.category} ${val.date}

` // 一张图的布局 } else { document.querySelector(".content").innerHTML +=`

${val.title}

${val.author_name} ${val.category} ${val.date}

${val.title}
` } }) } /** * 渲染顶部横向的菜单 */ function RenderMenu () { headerMenu.forEach(function(val,index){ document.querySelector(".header_menu ul").innerHTML += `
  • ${val.title}
  • ` }) } /** * 菜单被点击的时候切换激活样式,并请求对应数据。 */ function changeMenu() { var MenuLi = document.querySelectorAll(".header_menu ul li"); MenuLi.forEach(function(val,index){ val.onclick = function () { MenuLi.forEach(function(vas){ vas.className = "" }) GetData(headerMenu[index].type) val.className = "active" } }) } RenderMenu() changeMenu() GetData('top') })()