// 以下参数根据需求进行配置 var BMListModeType = 2; // 版面列表显示类型。1:左侧弹出 2:居中显示 var calendarMode = 1; //1:传统日历 2:列表日历需要配合自定义json日历数据 var ifMaxShowDate=false;//是否开启过滤日期(开启:true,关闭:false) var MaxshowData=10; //最多能看7天 var pageDirection = "vertical"; // 版面图滑动 horizontal横向滚动,vertical竖向滚动 // 主程序 var month = getDate("month");//获取当前月份 $('img[usemap]').rwdImageMaps();//设置图片热区 $(function(){ if(!DateMaxDiff(1)){ alert("对不起,只能查看最新七天数据!"); location.href="../../../paperindex.htm"; return; } // 模式2初始化年份日历 if (calendarMode==2){ initYearList(); } // Initialize Swiper var swiper = new Swiper('.swiper-container',{ //zoom: true, direction : pageDirection,//horizontal横向滚动,vertical竖向滚动 initialSlide :getURLParams().curr?getURLParams().curr:0,//默认显示第几个 //loop : true,//循环滚动 on:{ init:function(swiper){ console.log('init'); pinchZoom(); }, slideChangeTransitionEnd:function(swiper){ console.log('swiper'); //动态显示页面title信息 autoChangeTitle(); new RTP.PinchZoom($('.swiper-slide.swiper-slide-active .pinch-zoom'), {maxZoom:4}); }, } }); //版面放大的区域与图片自适应显示区域一致 $('img.pichmask').css("max-height",$(".swiper-wrapper").height()); //日历实例化 $('.form_date').datetimepicker({ pickerPosition: "top-right", bootcssVer: 3, format: "yyyy-mm-dd", language: "zh-CN", weekStart: 1, autoclose: 1, startView: 2, minView: 2, forceParse: 0, viewSelect: "month", initialDate: getDate("day"), }).on("show", function(ev){ displayDate(month); //$(".datetimepicker-days th.switch").addClass("disabled"); }).on('changeDate', function(ev){ var date = new Date(ev.date.valueOf()); var year = date.getFullYear(); var month = date.getMonth()+1; month = month<10?("0" + month): month; var day = date.getDate(); day = day<10?("0" + day): day; var url = "../../" + year + "-" + month + "/" + day + "/node_1.htm"; //var curDate = year+""+appendZero(month)+""+appendZero(day); //if (curDate<=20191231){ // location.href = "https://epaper.guanhai.com.cn/qdrb/"+curDate; //} var isUseful = checkUrl(url); if(isUseful){ location.href = url; } hideAll(); //$('.mask').removeClass('active'); }); //导航栏日期显示 $('body .datetimeBtn').text(getDate("day")); // 底部按钮切换 $('.footerWrap').on('click','.item .text',function(){ $(this).toggleClass('active'); $(this).parent('.item').siblings('.item').find('.text').removeClass('active'); $('.mask').toggleClass('active'); // 版面列表显示 if($(this).hasClass('layoutBtn')){ if(BMListModeType==1){ $('.layoutStyleOne').toggleClass('active'); }else if(BMListModeType==2){ $('.layoutStyleTwo').toggleClass('active'); } } // 版面文章目录显示 if($(this).hasClass('articleBtn')){ $('.articleList').toggleClass('active'); } //日历显示 if($(this).hasClass('datetimeBtn')){ showDate(); } // 跳转下载页面 if($(this).hasClass('synthesis')){ // window.location.href='synthesis.html'; // $('.mask').removeClass('active'); $('.synthPage').addClass('active'); synthBox(); } //更多显示的弹层 if($(this).hasClass('more')){ $(this).siblings('.exareBox').toggleClass('active'); } }) //点击分享按钮 $('.synthesis').on('click',function(){ $('.mask').toggleClass('active'); $('.synthPage').addClass('active'); synthBox(); }) // 点击遮罩 $('.contWrapper .mask').on('click',function(){ hideAll(); }) //文章目录显示样式 $('.articleList .item a').on('click',function(){ $(this).addClass('active').siblings().removeClass('active'); $(this).parents('.item').siblings('.item').find('a').removeClass('active') }) //给版面目录页面加上高亮(样式一) var curUrl = window.location.href; $('.layoutList a').each(function(i,elem){ if($(elem).attr('href') == curUrl){ $(elem).addClass('active').siblings().removeClass('active'); } }); //给版面目录页面加上高亮(样式二) $('.layoutList .listWrap a').each(function(i,elem){ if($(elem).attr('href') == curUrl){ $(elem).addClass('active').siblings().removeClass('active'); } }); //监听切换月份 var i = 0; $(".datetimepicker-days tbody").bind("DOMNodeInserted",function(){ if(i == 5){ var date = $(".datetimepicker-days thead th.switch").text().split(" "); switch (date[0]) { case "一月": month = date[1]+"-01"; break; case "二月": month = date[1]+"-02"; break; case "三月": month = date[1]+"-03"; break; case "四月": month = date[1]+"-04"; break; case "五月": month = date[1]+"-05"; break; case "六月": month = date[1]+"-06"; break; case "七月": month = date[1]+"-07"; break; case "八月": month = date[1]+"-08"; break; case "九月": month = date[1]+"-09"; break; case "十月": month = date[1]+"-10"; break; case "十一月": month = date[1]+"-11"; break; case "十二月": month = date[1]+"-12"; break; } displayDate(month); i = -1; } i++; }); //关闭下载图片的弹层 $('.synthPage').on('click','.closeBtn',function(){ $('.synthPage').html(''); $('.synthPage,.mask,.synthesis').removeClass('active'); }); var currentSwiperZoom=[]; var currentSwiperZoom2 = []; //存储页面所有图片原始的缩放比例 window.onload = function(){ $('.swiper-slide').find('.pinch-zoom').each(function(){ currentSwiperZoom2.push({zoomhtml:$(this)[0].outerHTML}); }); new RTP.PinchZoom($('.swiper-slide.swiper-slide-active .pinch-zoom'), {maxZoom:4}); //$('.swiper-slide').find('.pinch-zoom').each(function(){ //currentSwiperZoom.push({transform:$(this)[0].style.transform,transformOrigin:$(this)[0].style.transformOrigin}); //}) } //点击除了已有的元素之外的区域缩小放大 $('body').click(function(e) { var target = $(e.target); if(!target.is('.imgBoxCont *') && !target.is('.footerWrap *')&&!target.is('.newsText1 *')&&!target.is('.synthesis') && !target.is('.layoutList *')&&!target.is('.articleList *')&&!target.is('.text')&&!target.is('.synthPage *')&&!target.is('.mask')&¤tSwiperZoom2.length!=0) { //不是点击指定区域执行的操作 var scaleIndex =getURLParams().curr?getURLParams().curr:0 $('.swiper-slide.swiper-slide-active .pinch-zoom-container').remove(); $('.swiper-slide.swiper-slide-active .imgBoxCont').append(currentSwiperZoom2[scaleIndex].zoomhtml) new RTP.PinchZoom($('.swiper-slide.swiper-slide-active .pinch-zoom'), {maxZoom:4}); } }); //xml判断图片加载情况 xmlhttpAction(); }) //图片放大初始化 function pinchZoom(){ window.z_drag = 0; $('div.pinch-zoom').each(function (v,i) { new RTP.PinchZoom($(this), {maxZoom:4}); $(this).on('pz_zoomstart', function(){ window.z_drag = 1 }); $(this).on('pz_dragstart', function(){ window.z_drag = 1 }); $(this).on('pz_zoomend', function(){ setTimeout(function(){ window.z_drag = 0 }, 500); }); $(this).on('pz_dragend', function(){ setTimeout(function(){ window.z_drag = 0 }, 500); }); }); } //xml判断图片加载情况 function xmlhttpAction(){ var xmlhttp; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); }else { // code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.abort(); //停止继续加载页面,相当于点击stop按钮。 if (!!(window.attachEvent && !window.opera)) { console.log('ie') //alert('ie') //document.execCommand("stop");// code for IE }else{ console.log('chrome'); //alert('chrome'); $('.swiper-wrapper .swiper-slide').each(function(i,v){ //console.log($(v).children('.pinch-zoom')) if(!$(v).find('.paperMap')[0].complete){ if(i==0){ //alert($(v).find('.pinch-zoom')[0].clientHeight,$(v).find('.paperMap')[0].clientHeight); console.log('[[[[[',$(v).find('.pinch-zoom')[0].clientHeight,$(v).find('.paperMap')[0].clientHeight) } $(v).find('.paperMap').attr('src',$(v).find('.paperMap')[0].src) } }) /** * stops window loading * code for Firefox, Chrome, Opera, Safari */ //window.stop(); } } //判断图片是否加载完成 function ImgLoad(imgsys,id){ console.log('加载:',imgsys,imgsys.attr('id')) let img = imgsys; let imgId = imgsys.attr('id'); if(img&&img.length!=0){ console.log('加载完成之后:',img,$("img#"+imgId).parent('.pinch-zoom')); let transform2d = "scale(" + img[0].naturalWidth/img.context.clientWidth + ", " + img[0].naturalHeight/img.context.clientHeight + ") " + "translate(0px, 0px) !important"; $("img#"+imgId).parent('.pinch-zoom').css({ "-webkit-transform": transform2d, "-o-transform": transform2d, "-ms-transform": transform2d, "-moz-transform": transform2d, transform: transform2d }); }else{ setTimeout(function(){ ImgLoad() }, 300); } } //动态显示页面title信息,动态的改变地址栏当前版面地址 function autoChangeTitle(){ var pageId = $('.swiper-wrapper .swiper-slide-active img.paperMap').attr('usemap').replace("#PagetupMap",""); var PageName = $($(".listWrap a[href='node_"+pageId+".htm']")[0]).html(); PageNameTab = PageName.replace(" "+PageName.split(" ")[1],""); var pageTitle = PageNameTab + "版-"+ $('title').html().split("-")[1]; $('.layoutBtn').html(PageName) //$('title').html(pageTitle); //动态的改变地址栏当前版面地址 var url = window.location.href; var index = url.lastIndexOf('/'); var key = $('.swiper-wrapper .swiper-slide-active').index(); var re = new RegExp("([?&])curr=.*?(&|$)", "i"); var reV = new RegExp("([?])curr=.*?(&|$)", "i"); var separator = url.indexOf('?') !== -1 ? "&" : "?"; if (url.match(re)) { let currUrl = url.match(reV)?url.replace(re, "?curr="+ key):url.replace(re, "&curr="+ key); history.replaceState(null, 'v', currUrl.substring(index+1,currUrl.length)); } else { let noCurr = url + separator + "curr="+ key; history.replaceState(null, 'v', noCurr.substring(index+1,noCurr.length)); } } // 日历相关设置 //显示日期 function showDate(){ if (calendarMode==1){ $('.form_date').datetimepicker('update'); $(".form_date").datetimepicker("show"); }else if (calendarMode==2){ $("#Datefour").animate({bottom:"48"},"normal"); } } //隐藏日期 function hideDate(){ if (calendarMode==1){ $(".form_date").val(getDate("day")); $(".form_date").datetimepicker("hide"); }else if (calendarMode==2){ $("#Datefour").animate({bottom:"-100%"},"normal"); } } //获取当前页日期 function getDate(str){ var url = location.href; var re = /(\d{4})\-(\d{2})\/(\d{2})/; var r = url.match(re); //精确到日 if(str == "day"){ var date = r[1]+"-" + r[2] + "-" + r[3]; //精确到月 }else if(str == "month"){ var date = r[1]+"-" + r[2]; } return date } //获取当前月份报纸xml数据 function getPaper(date){ var myXmlUrl = "../../../html5/" + date + "/navi.xml?time="+Date.parse(new Date()); var data = {'day':[],'url':[]}; $.ajax({ url:myXmlUrl, type: 'GET', dataType: 'xml', async: false, timeout: 1000, error: function(xml){ }, success: function(xml){ var date= new Array(); var day= new Array(); var url= new Array(); $(xml).find("date").each(function(){ date.push($(this).text()); day.push(parseInt($(this).text().split("-")[2])) }); $(xml).find("url").each(function(){ url.push($(this).text()); }); data = {"day":day,"url":url} } }); //console.log('获取当前月份报纸xml数据:',date) return data } //需要黑色显示的日期数组 function displayDate(date){ var data = getPaper(date); var day=1,count=0,count2=0; $(".datetimepicker-days .day").each(function(i){ if (parseInt($(this).text())>day){ $(this).html(""); count++ }else{ day=parseInt($(this).text())+1; if ( (i>20)&&( parseInt($(this).text())<14 ) ){ $(this).html("").removeClass("active"); count2++; } } }); if (count==7){$(".datetimepicker-days tr:eq(2)").hide();} if (count2>=7){$(".datetimepicker-days tr:eq(7)").hide();} $(".datetimepicker-days .day").each(function(){ var index = data["day"].indexOf(parseInt($(this).text())) if(index == -1){ //var curDate = date.replace("-","")+appendZero(parseInt($(this).text())); //if (curDate<=20191231){ // $(this).attr('url',""); //}else{ $(this).addClass('old'); $(this).addClass('disabled'); //} }else{ if (!ifMaxShowDate){ $(this).attr('url',data["url"][index]); }else{ var temp = date.split("-"); temp = temp[0]+"/"+temp[1]+"/"+ parseInt($(this).text()); if (DateMaxDiff(2,temp) ){ $(this).attr('url',data["url"][index]); }else{ $(this).addClass('old'); $(this).addClass('disabled'); } } } }); } function appendZero(n){ return (("00" + n).substr(("00" + n).length - 2)); } // 隐藏首页所有的弹层 function hideAll(){ $('.layoutList').removeClass('active'); $('.footerWrap .item .text').removeClass('active') $('.mask').removeClass('active'); $('.articleList').removeClass('active'); $('.exareBox').removeClass('active') hideDate(); } //检查链接是否有效 function checkUrl(url){ isUseful = false; $.ajax({ url:url, type: 'GET', async: false, success: function(xml){ isUseful = true; } }); return isUseful } //取版面的ID function getCaption(obj){ var index=obj.lastIndexOf("p"); obj=obj.substring(index+1,obj.length); // console.log(obj); return obj; } //下载弹层 function synthBox(){ var imgUrl = $('.swiper-wrapper .swiper-slide-active img').attr('src')+'?=v1'; var html = '

"+year+"年");//显示年份
var myXmlUrl = "../../../paperXml/yearList.js?time="+new Date().getTime();
var curIndex=-1,css="",len,perYear=0,nextYear=0;
$.getJSON(myXmlUrl, function(json) {
//解析列表
$.each(json, function(i, item) {
if (item.active==1){
if (year==item.yearNo){curIndex=i;}
if (curIndex==-1){perYear=item.yearNo;}
if (curIndex+1==i){nextYear=item.yearNo;}
}
});
len = json.length-1;
// 往左事件
if (perYear>0){
//$("#Datefour .prev span").css("color","#04C");//年份左导航箭头颜色
$("#Datefour .prev").css("background-image", "url('../../../image2023/left-1.png')");
$("#Datefour .prev").attr("href","javascript:getYearList("+perYear+",'"+curDate+"')");//年份左导航箭头颜
}else{
//$("#Datefour .prev span").css("color","#eee");//年份左导航箭头颜
$("#Datefour .prev").css("background-image", "url('../../../image2023/left-2.png')");
$("#Datefour .prev").attr("href","javascript:void();");//年份左导航箭头颜
}
// 往右事件
if (len != curIndex){
$//("#Datefour .next span").css("color","#04C");//年份左导航箭头颜色
$("#Datefour .next").css("background-image", "url('../../../image2023/right-1.png')");
$("#Datefour .next").attr("href","javascript:getYearList("+nextYear+",'"+curDate+"')");//年份左导航箭头颜
}else{
//$("#Datefour .next span").css("color","#eee");//年份左导航箭头颜
$("#Datefour .next").css("background-image", "url('../../../image2023/right-2.png')");
$("#Datefour .next").attr("href","javascript:void();");//年份左导航箭头颜
}
});
getDateList(year,curDate);//按当前页面年份加载对应期次数据
}
function showYearList(perYear,curDate){//显示年份列表
var myXmlUrl = "../../../paperXml/yearList.js?time="+new Date().getTime();
$('#Datefour ul').empty();
$(".prev,.next").hide();
var liCss;
$.getJSON(myXmlUrl, function(json) {
$.each(json, function(i, item) {
if (item.active==1){
liCss = " style='color:#000;'";
$('#Datefour ul').append("