解决方案 »

  1.   

    }else{
    return null;
    }
    }
    }
    },
    //添加事件
    eventAdd : function(){
    var that = this;
    if(that.chanelName == "sports"){ //体育频道
    if(that.sportsType == true){ //只展开一条
    that.$("aikanTab01").childNodes[0].style.display = "none";
    if(that.$("aikanCon02")){
    that.djakDl02[0].className = "";
    that.$("aikanTab02").childNodes[0].style.display = "none";
    }
    if(that.$("aikanCon03")){
    that.djakDl03[0].className = "";
    that.$("aikanTab03").childNodes[0].style.display = "none";
    }
    that.dl = that.$(that.djakContent).getElementsByTagName("dl");
    that.selected = that.dl[0];
    that.$(that.djakContent).onmouseover = function(e){
    e = e||window.event;
    var target = e.target || e.srcElement;
    if('DT' != target.nodeName){
    //console.log(target.nodeName);
    return;
    }
    //console.log(target.nodeName);
    that.selected.className = "";
    target.parentNode.className = "selected";
    that.selected = target.parentNode;
    }
    }else{ //按类别展开
    if(that.$("aikanCon01")){
    that.selected01 = that.djakDl01[0];
    that.$("aikanCon01").onmouseover = function(e){
    e = e||window.event;
    var target = e.target || e.srcElement;
    if('DT' != target.nodeName){
    //console.log(target.nodeName);
    return;
    }
    //console.log(target.nodeName);
    that.selected01.className = "";
    target.parentNode.className = "selected";
    that.selected01 = target.parentNode;
    }
    }
    if(that.$("aikanCon02")){
    that.selected02 = that.djakDl02[0];
    that.$("aikanCon02").onmouseover = function(e){
    e = e||window.event;
    var target = e.target || e.srcElement;
    if('DT' != target.nodeName){
    //console.log(target.nodeName);
    return;
    }
    //console.log(target.nodeName);
    that.selected02.className = "";
    target.parentNode.className = "selected";
    that.selected02 = target.parentNode;
    }
    }
    if(that.$("aikanCon03")){
    that.selected03 = that.djakDl03[0];
    that.$("aikanCon03").onmouseover = function(e){
    e = e||window.event;
    var target = e.target || e.srcElement;
    if('DT' != target.nodeName){
    //console.log(target.nodeName);
    return;
    }
    //console.log(target.nodeName);
    that.selected03.className = "";
    target.parentNode.className = "selected";
    that.selected03 = target.parentNode;
    }
    }
    }
    }else{ //非体育频道
    var that = this;
    that.selected01 = that.djakDl[0];
    that.$("aikanCon01").onmouseover = function(e){
    e = e||window.event;
    var target = e.target || e.srcElement;
    if('DT' != target.nodeName){
    //console.log(target.nodeName);
    return;
    }
    //console.log(target.nodeName);
    that.selected01.className = "";
    target.parentNode.className = "selected";
    that.selected01 = target.parentNode;
    }
    if(that.djakPart >= 2){
    that.selected02 = this.djakDl[that.djakPartNum[0]];
    that.$("aikanCon02").onmouseover = function(e){
    e = e||window.event;
    var target = e.target || e.srcElement;
    if('DT' != target.nodeName){
    //console.log(target.nodeName);
    return;
    }
    //console.log(target.nodeName);
    that.selected02.className = "";
    target.parentNode.className = "selected";
    that.selected02 = target.parentNode;
    }
    }
    if(this.djakPart >= 3){
    this.selected03 = this.djakDl[this.djakPartNum[0]+this.djakPartNum[1]];
    that.$("aikanCon03").onmouseover = function(e){
    e = e||window.event;
    var target = e.target || e.srcElement;
    if('DT' != target.nodeName){
    //console.log(target.nodeName);
    return;
    }
    //console.log(target.nodeName);
    that.selected03.className = "";
    target.parentNode.className = "selected";
    that.selected03 = target.parentNode;
    }
    }
    }
    },
    //刷新按钮初始化
    refreshInit : function(){
    this.refreshBtn = '<a bossZone="' + this.djakBoss + 'refresh" href="javascript:void(0);" class="djakRefreshBtn" id="dajiaikanrefresh"></a>'; //刷新按钮
    this.refreshLoading = '<img id="dajiaaikanloading" class="aikanloading" src="http://mat1.gtimg.com/www/images/qq2012/aikanLoading1.1.gif" alt="Loading" style="display:none;">'; //刷新loading图片
    this.$(this.djakRefresh).innerHTML = this.refreshBtn + this.refreshLoading;
    },
    //刷新功能
    refresh : function(options){
    var that = this;
    this.$("dajiaikanrefresh").onclick = function(){
    this.style.display = "none";
    that.$("dajiaaikanloading").style.display = "block";
    that.init(options,true);
    }
    },
    //内容初始化
    init : function(options,refresh){
    this.chanelName = options.chanelName || "index"; // "index" 频道英文名;
    this.itemNum = options.itemNum || 15; // 15; 内容条数;
    this.djakPart = options.djakPart || 3; // 3; 分成几个部分
    this.djakPartNum = options.djakPartNum || [10]; //每个部分的条数
    this.djakContent = options.djakContent; // "dajiaaikanCon"; 内容填充容器id
    this.djakRefresh = options.djakRefresh || false; //"djakRefresh"; 刷新按钮填充容器id,12X12
    this.djakWidth = options.djakWidth || 318; // 318; 大家爱看宽度
    this.djakCss = options.djakCss || false; // false; 是否加载css
    this.djakBoss = options.djakBoss || options.chanelName; // bosszone上报频道名; 默认为频道英文名
    this.sportsType = options.sportsType || false; // 体育频道只展开一条; 默认false
    this.linkType = 1; // 1为链接到大家爱看独立产品; 0为链接到微博页

    var that = this;
    if(window.location.toString().indexOf('type=djakPre') != -1){
    that.djakData = 'http://www.qq.com/json_data_djak/' + that.chanelName + '_data_djak/pre_data.json';
    }else{
    that.djakData = 'http://www.qq.com/json_data_djak/' + that.chanelName + '_data_djak/cur_data.json';
    }
    that.LoadScript(that.djakData+"?random="+Math.random(), function(){
    //console.log(jsonData);
    var jsonDataLength = jsonData.length;
    that.$(that.djakContent).innerHTML = "";
    if(that.chanelName == "sports"){ //体育频道
    that.djakDataBasketball = []; //篮球所有数据
    that.djakDataFootball = []; //足球所有数据
    that.djakDataOther = []; //其他所有数据
    that.djakDataSports = []; //体育所有数据
    for(var i=0;i<that.itemNum;i++){
    if(that.linkType == 1){
    linkUrl = 'http://icare.qq.com/#'+(jsonData[i].channel_id)+'_list_'+(jsonData[i].id);
    broadtUrl = linkUrl + '_broadt';
    comtUrl = linkUrl + '_comt';
    }else if(that.linkType == 0){
    linkUrl = (jsonData[i].content_url)+'?pgv_ref=qqcom.'+that.chanelName+'.mb.djak';
    broadtUrl = linkUrl;
    comtUrl = linkUrl;
    }
    if(jsonData[i].sport_channel == 1){
    that.djakDataFootball.push('<dl>');
    if(jsonData[i].content_type == 2){
    that.djakDataFootball.push('<dt bossZone="footballtitle"><a target="_blank" class="focus_link djakVico" href="'+linkUrl+'" title="'+ (jsonData[i].pub_title)+'">'+(jsonData[i].pub_title)+'</a></dt>');
    }else{
    that.djakDataFootball.push('<dt bossZone="footballtitle"><a target="_blank" class="focus_link" href="'+linkUrl+'" title="'+ (jsonData[i].pub_title)+'">'+(jsonData[i].pub_title)+'</a></dt>');
    }
    that.djakDataFootball.push('<dd>');
    if(jsonData[i].img_url != ""){
    that.djakDataFootball.push('<div bossZone="footballpicture" class="imgArea"><a target="_blank" class="focus_link" href="'+linkUrl+'" title="'+ (jsonData[i].pub_title)+'"><img src="'+(jsonData[i].img_url)+'" alt="'+(jsonData[i].pub_title)+'" /></a></div>');
    }
    that.djakDataFootball.push('<div bossZone="footballsum" class="txtArea"><p><a target="_blank" class="focus_link" href="'+linkUrl+'">'+(jsonData[i].pub_content)+'</a></p></div>');
    that.djakDataFootball.push('<dd class="aikanTips"><span class="fl"><a bossZone="footballzhuanbopinglun" target="_blank" href="'+linkUrl+'"><strong>'+(jsonData[i].re_count)+'</strong>次转播/评论</a></span><span class="fr"><a bossZone="footballzhuanbo" target="_blank" href="'+broadtUrl+'">转播</a> | <a bossZone="footballpinglun" target="_blank" href="'+comtUrl+'">评论</a></span></dd>');
    that.djakDataFootball.push('</dl>');
    }else if(jsonData[i].sport_channel == 2){
    that.djakDataBasketball.push('<dl>');
    if(jsonData[i].content_type == 2){
    that.djakDataBasketball.push('<dt bossZone="basketballtitle"><a target="_blank" class="focus_link djakVico" href="'+linkUrl+'" title="'+ (jsonData[i].pub_title)+'">'+(jsonData[i].pub_title)+'</a></dt>');
    }else{
    that.djakDataBasketball.push('<dt bossZone="basketballtitle"><a target="_blank" class="focus_link" href="'+linkUrl+'" title="'+ (jsonData[i].pub_title)+'">'+(jsonData[i].pub_title)+'</a></dt>');
    }
    that.djakDataBasketball.push('<dd>');
    if(jsonData[i].img_url != ""){
    that.djakDataBasketball.push('<div bossZone="basketballpicture" class="imgArea"><a target="_blank" class="focus_link" href="'+linkUrl+'" title="'+ (jsonData[i].pub_title)+'"><img src="'+(jsonData[i].img_url)+'" alt="'+(jsonData[i].pub_title)+'" /></a></div>');
    }
    that.djakDataBasketball.push('<div bossZone="basketballsum" class="txtArea"><p><a target="_blank" class="focus_link" href="'+linkUrl+'">'+(jsonData[i].pub_content)+'</a></p></div>');
    that.djakDataBasketball.push('<dd class="aikanTips"><span class="fl"><a bossZone="basketballzhuanbopinglun" target="_blank" href="'+linkUrl+'"><strong>'+(jsonData[i].re_count)+'</strong>次转播/评论</a></span><span class="fr"><a bossZone="basketballzhuanbo" target="_blank" href="'+broadtUrl+'">转播</a> | <a bossZone="basketballpinglun" target="_blank" href="'+comtUrl+'">评论</a></span></dd>');
    that.djakDataBasketball.push('</dl>');
      

  2.   

    }else if(jsonData[i].sport_channel == 3){
    that.djakDataOther.push('<dl>');
    if(jsonData[i].content_type == 2){
    that.djakDataOther.push('<dt bossZone="othertitle"><a target="_blank" class="focus_link djakVico" href="'+linkUrl+'" title="'+ (jsonData[i].pub_title)+'">'+(jsonData[i].pub_title)+'</a></dt>');
    }else{
    that.djakDataOther.push('<dt bossZone="othertitle"><a target="_blank" class="focus_link" href="'+linkUrl+'" title="'+ (jsonData[i].pub_title)+'">'+(jsonData[i].pub_title)+'</a></dt>');
    }
    that.djakDataOther.push('<dd>');
    if(jsonData[i].img_url != ""){
    that.djakDataOther.push('<div bossZone="otherpicture" class="imgArea"><a target="_blank" class="focus_link" href="'+linkUrl+'" title="'+ (jsonData[i].pub_title)+'"><img src="'+(jsonData[i].img_url)+'" alt="'+(jsonData[i].pub_title)+'" /></a></div>');
    }
    that.djakDataOther.push('<div bossZone="othersum" class="txtArea"><p><a target="_blank" class="focus_link" href="'+linkUrl+'">'+(jsonData[i].pub_content)+'</a></p></div>');
    that.djakDataOther.push('<dd class="aikanTips"><span class="fl"><a bossZone="otherzhuanbopinglun" target="_blank" href="'+linkUrl+'"><strong>'+(jsonData[i].re_count)+'</strong>次转播/评论</a></span><span class="fr"><a bossZone="otherzhuanbo" target="_blank" href="'+broadtUrl+'">转播</a> | <a bossZone="otherpinglun" target="_blank" href="'+comtUrl+'">评论</a></span></dd>');
    that.djakDataOther.push('</dl>');
    }
    }
    //console.log(that.djakDataBasketball);
    //console.log(that.djakDataFootball);
    //console.log(that.djakDataOther);
    //console.log(that.djakDataSports);
    if(that.djakDataBasketball.length != 0){
    that.djakDataSports.push('<div class="rightAikanTab" id="aikanTab01"><div class="hd"><p class="aikanTimeGreen" id="aikanTimeBefore01">篮球</p></div><div class="bd" id="aikanCon01">');
    that.djakDataSports.push(that.djakDataBasketball.join(""));
    that.djakDataSports.push('</div></div>');
    }
    if(that.djakDataFootball.length != 0){
    that.djakDataSports.push('<div class="rightAikanTab" id="aikanTab02"><div class="hd"><p class="aikanTimeBlue" id="aikanTimeBefore02">足球</p></div><div class="bd" id="aikanCon02">');
    that.djakDataSports.push(that.djakDataFootball.join(""));
    that.djakDataSports.push('</div></div>');
    }
    if(that.djakDataOther.length != 0){
    that.djakDataSports.push('<div class="rightAikanTab" id="aikanTab03"><div class="hd"><p class="aikanTimeBlue" id="aikanTimeBefore03">其他</p></div><div class="bd" id="aikanCon03">');
    that.djakDataSports.push(that.djakDataOther.join(""));
    that.djakDataSports.push('</div></div>');
    }
    that.$(that.djakContent).innerHTML = that.djakDataSports.join("");
    if(that.$("aikanCon01")){
    that.djakDl01 = that.$("aikanCon01").getElementsByTagName("dl");
    that.djakDl01[0].className = "selected";
    }
    if(that.$("aikanCon02")){
    that.djakDl02 = that.$("aikanCon02").getElementsByTagName("dl");
    that.djakDl02[0].className = "selected";
    }
    if(that.$("aikanCon03")){
    that.djakDl03 = that.$("aikanCon03").getElementsByTagName("dl");
    that.djakDl03[0].className = "selected";
    }
    that.eventAdd();
    if(refresh == true){
    that.$("dajiaaikanloading").style.display = "none";
    that.$("dajiaikanrefresh").style.display = "block";
    }
    if(typeof djakCallBack=="function"){
    djakCallBack();
    }
    }else{ //非体育频道
    that.djakDataArr = []; //大家爱看所有数据
    that.djakConArr = []; //最终合成带日期完整数据
    for(var i=0;i<that.itemNum;i++){
    if(that.linkType == 1){
    linkUrl = 'http://icare.qq.com/#'+(jsonData[i].channel_id)+'_list_'+(jsonData[i].id);
    broadtUrl = linkUrl + '_broadt';
    comtUrl = linkUrl + '_comt';
    }else if(that.linkType == 0){
    linkUrl = (jsonData[i].content_url)+'?pgv_ref=qqcom.'+that.chanelName+'.mb.djak';
    broadtUrl = linkUrl;
    comtUrl = linkUrl;
    }
    that.djakDataTempArr = []; //大家爱看临时数据
    that.djakDataTempArr.push('<dl>');
    if(jsonData[i].content_type == 2){
    that.djakDataTempArr.push('<dt bossZone="' + that.djakBoss + 'title' + Number(i+1) + '"><a target="_blank" class="focus_link djakVico" href="'+linkUrl+'" title="'+ (jsonData[i].pub_title)+'">'+(jsonData[i].pub_title)+'</a></dt>');
    }else{
    that.djakDataTempArr.push('<dt bossZone="' + that.djakBoss + 'title' + Number(i+1) + '"><a target="_blank" class="focus_link" href="'+linkUrl+'" title="'+ (jsonData[i].pub_title)+'">'+(jsonData[i].pub_title)+'</a></dt>');
    }
    that.djakDataTempArr.push('<dd>');
    if(jsonData[i].img_url != ""){
    that.djakDataTempArr.push('<div bossZone="' + that.djakBoss + 'picture' + Number(i+1) + '" class="imgArea"><a target="_blank" class="focus_link" href="'+linkUrl+'" title="'+ (jsonData[i].pub_title)+'"><img src="'+(jsonData[i].img_url)+'" alt="'+(jsonData[i].pub_title)+'" /></a></div>');
    }
    that.djakDataTempArr.push('<div bossZone="' + that.djakBoss + 'sum' + Number(i+1) + '" class="txtArea"><p><a target="_blank" class="focus_link" href="'+linkUrl+'">'+(jsonData[i].pub_content)+'</a></p></div>');
    that.djakDataTempArr.push('<dd class="aikanTips"><span class="fl"><a bossZone="' + that.djakBoss + 'zhuanbopinglun' + Number(i+1) + '" target="_blank" href="'+linkUrl+'"><strong>'+(jsonData[i].re_count)+'</strong>次转播/评论</a></span><span class="fr"><a bossZone="' + that.djakBoss + 'zhuanbo' + Number(i+1) + '" target="_blank" href="'+broadtUrl+'">转播</a> | <a bossZone="' + that.djakBoss + 'pinglun' + Number(i+1) + '" target="_blank" href="'+comtUrl+'">评论</a></span></dd>');
    that.djakDataTempArr.push('</dl>');
    //console.log(that.djakDataTempArr);
    that.djakDataArr.push(that.djakDataTempArr.join(""));
    //console.log(that.djakDataArr);
    }
    for(var i=0;i<that.djakPart;i++){
    var idNum = Number(i+1);
    if(i==0){
    that.djakConArr.push('<div class="rightAikanTab" id="aikanTab01"><div class="hd"><p id="aikanTimePub0' + idNum + '" class="undis"></p><p class="aikanTimeGreen" id="aikanTimeBefore0' + idNum + '">20分钟前</p></div><div class="bd" id="aikanCon01">');
    }else{
    that.djakConArr.push('<div class="rightAikanTab" id="aikanTab0' + idNum + '"><div class="hd"><p id="aikanTimePub0' + idNum + '" class="undis"></p><p class="aikanTimeBlue" id="aikanTimeBefore0' + idNum + '">' + i + '小时前</p></div><div class="bd" id="aikanCon0' + idNum + '">');
    }
    for(var n=0;n<that.djakPartNum[i];n++){
    if(i==0){
    that.djakConArr.push(that.djakDataArr[n]);
    }else{
    var tempN = 0;
    for(var m=0;m<i;m++){
    tempN = tempN + that.djakPartNum[m];
    }
    tempN = tempN+n;
    that.djakConArr.push(that.djakDataArr[tempN]);
    }
    }
    that.djakConArr.push('</div></div>');
    }
    //console.log(that.djakConArr);
    that.$(that.djakContent).innerHTML = that.djakConArr.join("");
    that.djakDl = that.$(that.djakContent).getElementsByTagName("dl");
    that.djakDlLen = that.djakDl.length;
    that.djakDl[0].className = "selected";
    that.$("aikanTimePub01").innerHTML = jsonData[0].pub_time;
    that.timeInit(that.$("aikanTimePub01").innerHTML,"aikanTimeBefore01",refresh);
    if(that.djakPart > 1){
    var tempIndex = 0;
    for(var m=0;m<that.djakPart-1;m++){
    tempIndex = tempIndex + that.djakPartNum[m];
    that.djakDl[tempIndex].className = "selected";
    that.$("aikanTimePub0"+Number(m+2)).innerHTML = jsonData[tempIndex].pub_time;
    that.timeInit(that.$("aikanTimePub0"+Number(m+2)).innerHTML,"aikanTimeBefore0"+Number(m+2),refresh);
    }
    }
    //console.log(that.djakCss);
    that.eventAdd();
    if(refresh == true){
    that.$("dajiaaikanloading").style.display = "none";
    that.$("dajiaikanrefresh").style.display = "block";
    }
    if(typeof djakCallBack=="function"){
    djakCallBack();
    }
    }
    });
    }
    };/*调用方法
    var djakCustom = new djakPublic({
    chanelName : "index", //频道英文名;默认index
    itemNum : 15, //内容条数,默认15
    djakPart : 3, //分成几个部分,按时间标识划分;默认1
    djakPartNum : [5,5,5], //每个部分的条数;默认10
    djakContent : "dajiaaikanCon", //内容填充容器id
    djakRefresh : "djakRefresh", //刷新按钮填充容器id,宽高12X12;不要刷新功能请删除此参数
    djakWidth : 318, //大家爱看宽度;默认318
    djakBoss : "newsdiceng", // bosszone上报频道名; 默认为频道英文名
    sportsType : true, // 体育频道只展开一条; 默认false
    djakCss : true //是否加载css,默认不加载;true:加载,false:不加载
    //回调函数 : djakCallBack();
    });
    */
    </script><!--[if !IE]>|xGv00|c81bdcee5f56c57964595444d71dd6fe<![endif]-->
    <script type="text/javascript">
    var djakCustom = new djakPublic({
    chanelName : "sports", //频道英文名,默认index
    djakPart : 1, //分成几个部分,默认1
    djakPartNum : [5], //每个部分的条数,默认10
    djakContent : "dajiaaikanCon", //内容填充容器id
                 itemNum : 12, //内容条数,默认15
    djakWidth : 300, //大家爱看宽度,默认318
                 sportsType : true,
    djakCss : true //是否加载css,默认加载
    });
    </script>
    </body>
    </html>