首頁:
圖片單擊事件

Paste_Image.png

Paste_Image.png
var newslistTable = $("#news_list_table").DataTable({
"bInfo":false,
"bPaginate": true,//顯示(使用)分頁器
"bFilter": false,//是否啟用客戶端過濾功能
"bAutoWidth": true,//自動計算表格各列寬度
"bLengthChange": false,//顯示一個每頁長度的選擇條(需要分頁器支持)
"aaSorting": [[1, "desc"]],//指定按多列數據排序的依據
//"aoColumnDefs": [{"bSortable": false, "aTargets": [0,1,2,5]}],列定義配置數組
"aoColumnDefs":[{"bSortable": false, "aTargets": [0]},{ "bVisible": false, "aTargets": [ 1 ] }],
"iDisplayLength": 10,//用于指定一屏顯示的條數,需開啟分頁器
"sPaginationType": "bootstrap",//用于指定分頁器風格
"bDestroy": true,
//"sScrollY": "200px",
"bScrollCollapse": true,
"oLanguage": {//語言設置
"sLengthMenu": "每頁顯示 _MENU_ 條記錄",
"sZeroRecords": "沒有數據",
"sInfo": "_START_-_END_/_TOTAL_",
"sInfoEmpty": "",
"sProcessing": '<i class="fa fa-coffee"></i> 正在加載數據...',
"oPaginate": {
"sFirst": "首頁",
"sPrevious": "前一頁",
"sNext": "后一頁",
"sLast": "尾頁"
}
}
});
var d1="<div><header class=\"news_heading panel-heading \" ><h4><strong>";
//d1 d2 之間要加一個標題字符
var d2="<\/strong><\/h4><span class=\"news_time\">";
//d2 d3 之間要加一個時間字符
var d3="<\/span><\/header><div class=\"news_cen\"> ";
//d3 d4 之間則是文章第一段內容
var d4="<br><span class=\"pull-right\"><a style=\"color: #0000FF\" href=\"/news_detail?newsid=";
//d4 d5 要加一個newsid 字符
var d5="\" target=\"_blank\">";
var d6="閱讀詳情 ";
var d7="<i class=\"icon-angle-right\"><\/i><\/a><\/span><\/div><\/div>"
var para;
getdata(para);//para 參數可任意,值為undefine
function getdata1(data) {
var tt = data.getAttribute("value");
if(tt=="typeone"){
$("[name='li_active']").removeClass("active");
$("#li1").addClass("active");
$("#news_list_type").text("新聞公告")
}
if(tt=="typetwo"){
$("[name='li_active']").removeClass("active");
$("#li2").addClass("active");
$("#news_list_type").text("行業(yè)動態(tài)")
}
if(tt=="typethree"){
$("[name='li_active']").removeClass("active")
$("#li3").addClass("active");
$("#news_list_type").text("新聞中心")
}
newslistTable.fnClearTable();
getdata(tt);
}
function getdata(kk) {
var dd=""
if(kk){
dd="?news_type="+kk;
}
$.ajax({
url:'/news_list_data'+dd,
type:'get',
error:function(err){
if(err){
toastr.error('服務器內部發(fā)生錯誤');
}
},
success:function(data){
var hh=data instanceof Array;
if(!hh){
toastr.warning('沒有數據或者只有一條數據但不會顯示')
}else{
var title;
var content;
var time;
var id;
var k;
for(var i=0;i<data.length;i++){
title=data[i].news_title1;
content=data[i].news_content_txt;
content=$.trim(content);
k=content.indexOf(" ");
if(k != -1){
content=content.substring(0,k);
}//取第一段內容
time=moment(data[i].news_date).format('YYYY/MM/DD HH:mm:ss')+'發(fā)表';
id=data[i].news_id;
newslistTable.fnAddData([d1+title+d2+time+d3+content+d4+id+d5+d6+d7,data[i].news_date]);//因為fnAddData是無序插入,所以要添加一個隱藏的時間列 控制順序
}
}
}
詳情頁面
var id=window.location.href;
id=id.substr(id.indexOf("=")+1)
var d1="<div><header class=\"news_heading panel-heading \" style=\"text-align: center\"><h2>"
var d3="<\/h2><span class=\"news_time\">";
var d5="<\/span><\/header><div class=\"news_cen\"> ";
$.ajax({
url:'/news_content',
type:'post',
data:{id:id},
error:function(err){
if(err){
toastr.err('服務器內部錯誤');
}
},
success:function(data){
//alert(data instanceof Array);
//console.log(data.news_id);
$("#news_type_div").text(data.news_type);
$("#father").prepend(data.news_content);
var d4=moment(data.news_date).format('YYYY/MM/DD HH:mm:ss');
$("#father").prepend(d1+data.news_title1+d3+d4+d5);
}
})
$.ajax({
url:'/news_front_back',
type:'get',
//async:false,
error:function(err){
if(err){
toastr.err("服務器內部出錯");
}
},
success:function(data){//這個函數寫這么復雜主要是考慮到 mongoose 若只返回一條數據的情況,此時它的類型部不為數組,所以不能用data.length來判斷是否有數據返回
var kk=-1;
if(data instanceof Array){
for(var i=0;i<data.length;i++){
if(data[i].news_id==id){
kk=i;
console.log(kk)
break;
}
}
if(kk==0){ //判斷本文是否為第一條數據
$("#front_span").css('visibility','hidden');
$("#id_back").attr("href","/news_detail?newsid="+data[kk+1].news_id);
$("#id_back").text(data[kk+1].news_title1);
}else{
if(data.length==kk+1){ //判斷本文是否為最后一條數據
$("#back_span").css('visibility','hidden');
$("#id_front").attr("href","/news_detail?newsid="+data[kk-1].news_id);
$("#id_front").text(data[kk-1].news_title1);
}
else{
$("#id_front").attr("href","/news_detail?newsid="+data[kk-1].news_id);
$("#id_front").text(data[kk-1].news_title1);
$("#id_back").attr("href",'/news_detail?newsid='+data[kk+1].news_id);
$("#id_back").text(data[kk+1].news_title1);
}
}
}else{
if(data){//這是只有一條數據的情況
$("#front_span").css('visibility','hidden');
$("#back_span").css('visibility','hidden');
}else{
toastr.warning('沒有數據');
}
}
}
})
數據庫查找
//從數據庫中請求新聞數據
router.get('/news_list_data',function(req,res,next){
var queryfield;
var ty=req.query.news_type;
if (!ty){
queryfield={};
}else{
if(ty=="typeone") {
queryfield = {news_type: "新聞公告"};
}else{
if(ty=="typetwo"){
queryfield = {news_type: "行業(yè)動態(tài)"};
}
else{
queryfield={};
}
}
}
var newsdata=dbModel.newsDataModel;
newsdata.find(queryfield,{},{sort:{news_date:-1}},function(err,docs){
if(err){
res.json(0);
}else{
res.json(docs);
}
})
})
//請求新聞詳情頁面
router.get('/news_detail',function(req,res,next){
var str=req.query.newsid;
if(str.length ==13){
res.sendfile('./views/CN/news_detail.html');
}else{
res.json( "Not Found Page ! 404");
}
})
//在新聞詳情頁面里 ,從數據庫中請求新聞數據
router.post('/news_content',function(req,res,next){
var str=req.body.id;
var newsdata=dbModel.newsDataModel;
newsdata.findOne({news_id:str},function(err,docs){
if(err){
res.json(0);
}else{
res.json(docs);
}
})
})
router.get('/news_front_back',function(req,res,next){
var newsdata=dbModel.newsDataModel;
newsdata.find({},'news_id news_title1 news_date',{sort:{news_date:-1}},function(err,docs){
if(err){
res.json(0);
}else{
res.json(docs);
}
})
})