【急】这一段javascript代码有什么问题,为什么开始的时候会导致网页鼠标不停闪烁?

时间:2022-05-19 21:04:32
【涉及文件】 inc.footer.js
【问题现状】  当网页加载完这个js后,这个js还没完全执行完的时候,这个网页上面的鼠标手状在不停的闪烁,而且有的时候变成忙碌的状态,但是等这个js执行完毕后就不闪烁了。在IE6 和其他IE内核的浏览器里面更是这样。但是在部分其他机子的IE6的浏览器里面不会这样。然后IE8 FF和其他非IE浏览器的里面没这样的情况出现。
【文件内容】

/*
 +--------------------------------------
 * Global Config File JavaScript
 +--------------------------------------
 *  Date  :   2010-12-09
 *  Charset:  UTF-8 NONE BOM HEADER
 *  DESC  :   This is a global config file!
 *            Object cfg is a global object!
 *            You can put executive action in this!
 *            USE THIS FILE PLEASE READ /static/js/common.js First!
 */

var cfg     = {};
cfg.QQ      = '100000020';
cfg.siteurl = 'http:\/\/' + window.location.host;
cfg.sitename= '百度首页';
cfg.ChartID = 'LVT93360';
cfg.TEL     = '021-88871855';


cfg.Chartlnk= 'http:\/\/lvt.zoosnet.net\/LR\/Chatpre.aspx?id=' + cfg.ChartID ;
cfg.QQlnk   = 'tencent:\/\/message\/?uin=' + cfg.QQ + '&Site=' + cfg.sitename + '&Menu=yes';
cfg.ie      = !-[1,]; //Boolean if this is IE,cfg.ie = 1.
var Dt      = new Date();
cfg.today   = Dt.getFullYear()+"-"+(Dt.getMonth()+1)+"-"+Dt.getDate();


/* 创建商务通代码 */
var Invite_top = 50;
var LiveAutoInvite0 = '您好,来自%IP%的朋友';
var LiveAutoInvite1 = '自首页自动邀请的对话';
var LiveAutoInvite2 = '';
var LrinviteTimeout = 10;
var LR_next_invite_seconds = 60; //15秒后再次显示自动邀请
document.write('<scri' + 'pt language="javascript" src="http:\/\/lvt.zoosnet.net\/JS\/LsJS.aspx?siteid=' + cfg.ChartID + '&float=1"><\/scr' + 'ipt>');


/* 针对IE的Bug */
try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {}

$(function(){

  //添加到收藏夹
  var cookieop = {"path":"/"};
  var favorval = "df";
  if($.cookie("addfavor") != favorval ){
    $(window).bind("beforeunload",function(){
      addfavor();
      $.cookie("addfavor",favorval,cookieop);
    });
  }

  //导航定位
  Navpoz();

  //头部导航区域,兼容IE内核浏览器的样式动态添加
  $('#header .nav li a').hover(function(){
    $(this).addClass('curr');
    },function(){
      $(this).removeClass('curr');
      });

  //将UL的最后一个LI的底部Bottom的样式去掉
  $('.lastLi-no-bottomborder').each(function(){
    $(this).children('li:last').css('border-bottom','none')
    });

  //直接显示头部Ad
  ShowHeader();


  //1秒钟后显示Divbox
  window.setTimeout("ShowDivbox()",1000);

  //2秒后显示nkfree
  window.setTimeout("ShowNkfree()",2000);

  //3秒后显示底部广告
  window.setTimeout("ShowBottom()",3000);

  //4秒后显示头部统计代码
  //window.setTimeout("ShowHeader()",4000);

  //5秒后设置outline:none;
  window.setTimeout("NoneOutline()",5000);
  });


function ShowDivbox(){
  var divQQbox_HTML = '<div id="divQQbox" style="z-index:1000;right:2px;position:absolute;top:30px;">'
                    + ' <div id="divOnline">'
                    + '  <div>'
                    + '   <a style="cursor: pointer;" onclick="closure();"><img border="0" src="/images/closure_1.gif"></a><br \/>'
                    + '   <a title="点击咨询专家" target="_blank" href="' + cfg.Chartlnk + '"><img border="0" src="/images/kefu_1.gif"></a><br \/>'
                    + '   <a title="点击咨询专家" target="_blank" href="' + cfg.Chartlnk + '"><img border="0" src="/images/kefu_22.gif"></a><br>'
                    + '   <a title="来院路线" target="_blank" href="/yygk/yydt/219.html"><img border="0" src="/images/kefu_2.gif"></a><br \/>'
                    + '   <a href="' + cfg.QQlnk + '"><img border="0" src="\/images\/kefu_3.gif"><\/a><br \/>'
                    + '   <img border="0" src="\/images\/kefu_4.gif">'
                    + '  <\/div>'
                    + ' <\/div>'
                    + ' <div style="display:none;" onmousemove="OnlineOver();" id="divMenu">'
                    + '   <img alt="就医服务" class="press" src="\/images\/xiaotu.gif">'
                    + ' <\/div>'
                    + '<\/div>';
  $('.wrapper').append( divQQbox_HTML );
  $(".wrapper").bind("scroll",function(){
    $("#divQQbox").animate({top : $('.wrapper').scrollTop() + 30},{ duration:600 , queue:false });
    });
  $('#divQQbox').css("top",$(".wrapper").scrollTop()+30 );
  }

function ShowNkfree(){
  var nkfree_HTML = '<div id="nkfree" class="fixed-box" style="left:0;z-index:1000;">'
                  + '<img class="btn" style="position: absolute; cursor: pointer; left:115px; top: 8px; display: block;" src="/images/2011/btn-close.gif" alt="close btn" border="0" />'
                  + '<a target="_blank" href="' + cfg.Chartlnk + '"><img src="\/images\/nkfree.gif"><\/a>'
                  + '<\/div>';

  //兼容问题[删除旧代码]
  if($('#nkfree').length > 0) $('#nkfree').remove();
  $('body').append( nkfree_HTML );
  $('#nkfree').css("top",($(document).scrollTop() + $(window).height()*0.4 ) + 'px');
  $('#nkfree .btn').bind("click",function(){
    $('#nkfree').fadeOut(300);
    var tm = window.setTimeout(function(){ $('#nkfree').fadeIn(200);},10000);
    });
  }


function ShowBottom(){
  var bottomHTML = '<div id="bottomFloatDiv" class="fixed-box" style="padding:0;height:30px;width:100%;background-color:#FFFFFF;z-index:1000;left:0;margin:0;">'
                 + '  <div class="inner" style="width:948px;margin:0 auto;">'
                 + '    <div class="fd1" style="float:left;margin:0;padding:0 2px;">'
                 + '      <a href="' + cfg.Chartlnk + '" target="_blank"><img src="\/images\/dbfd.gif"><\/a>'
                 + '    <\/div>'
                 + '    <div class="fd2" style="float:left;margin:0;padding:0 2px;">'
                 + '      <a href="' + cfg.Chartlnk + '" target="_blank"><img src="\/images\/dbfd1.gif"><\/a>'
                 + '    <\/div>'
                 + '    <div class="fd3" style="float:left;margin:0;padding:0 2px;">'
                 + '      <a href="' + cfg.Chartlnk + '" target="_blank"><img src="\/images\/dbfd2.gif"><\/a>'
                 + '    <\/div>'
                 + '    <div style="clear:both"><\/div>'
                 + '  <\/div>'
                 + '<\/div>';
  // css for bottomHTML
  $('body').append( bottomHTML );
  $('#bottomFloatDiv').css("top",($(document).scrollTop() + $(window).height() - $('#bottomFloatDiv').height()) + 'px');
  $('#footer').css('margin-bottom','30px');
  $(window).bind("resize",function(){ WinResize(); });
  var tm = window.setTimeout("WinResize()",2000);
  }

function WinResize(){
  $('#bottomFloatDiv').css('top',$(document).scrollTop() + $(window).height() - $('#bottomFloatDiv').height());
  }

function ShowHeader(){
  //头部代码区域统计的
  var tjurl = '/plus/tongji.php';
  var tjhtm = '<div id="topnav" style="font-size:13px;height:22px;line-height:23px;z-index:1000;background-attachment:fixed;background-color:#FFF;background:url(/images/newimages/topnavbg.jpg) 0 -22px;width:100% !transparent;white-space:nowrap;">'
              + '<div class="topnav_inner" style="width:980px;margin:0 auto;white-space:nowrap;">'
              + '<div id="divtq" style="text-align:left;float:left;width:450px;">'
              + '正在载入天气预报...'
              + '<\/div>'
              + '<div style="text-align:right;float:right;width:520px"> '
              + '访问人次:(<span id="ipcount">加载中...<\/span>)人,'
              + '页面浏览:(<span id="pvcount">加载中...<\/span> )次'
              + '【<a href="javascript:;" onclick="setHomepg()">设为首页<\/a>】'
              + '&nbsp;【<a href="javascript:;" onclick="addfavor()">加入收藏<\/a>】'
              + '<\/div>'
              + '<\/div>'
              + '<div style="clear:both"><\/div>'
              + '<\/div>';
  $(tjhtm).prependTo('.wrapper');
  if(typeof(tq) == "object") tq.show();
  $.ajax({
    url:tjurl+'?'+(new Date()).valueOf(),
    dataType: 'html',
    'type': 'POST',
    cache: false,
    timeout: 5000,
    error:function(){
      //alert('error');
      },
    success: function(data){
      eval('var json = ' + data);
      if(typeof(json) == 'object'){
        if(typeof(json.ipcount) != 'undefined') $('#ipcount').html( json.ipcount );
        if(typeof(json.pvcount) != 'undefined') $('#pvcount').html( json.pvcount );
        }
      }
    });
  }

function closure() {
document.getElementById("divMenu").style.display = "";
document.getElementById("divOnline").style.display = "none";
}


function OnlineOver(){
document.getElementById("divMenu").style.display = "none";
document.getElementById("divOnline").style.display = "block";
}


【备注信息】我觉得就是这个js文件的效率很可能太低了。谁帮我看下。

4 个解决方案

#1


  你这个 js 里面不是有多个 function 么 ? 一个一个的调 ,先将其他的 function 注释 ,跑一个 function 直到 找到导致该原因的那个 function  ,这样不就缩小了查找范围 ?

#2


 商务通的在线客服js 代码!!!

慢的原因在:
document.write('<scri' + 'pt language="javascript" src="http:\/\/lvt.zoosnet.net\/JS\/LsJS.aspx?siteid=' + cfg.ChartID + '&float=1"><\/scr' + 'ipt>');


它应该还动态加载了其它js

你用 firebug ,可以看到所有的网络资源!这样容易找到瓶颈!

可以设置这些js 延时加载

#3


引用 2 楼 hch126163 的回复:
 商务通的在线客服js 代码!!!

慢的原因在:
document.write('<scri' + 'pt language="javascript" src="http:\/\/lvt.zoosnet.net\/JS\/LsJS.aspx?siteid=' + cfg.ChartID + '&amp;float=1"><\/scr' + 'ipt>');
它应该还动态加载了其……

还是没有啊,用排除法,并不是这个导致的,是他背后的写在$(function(){ })这个里面的代码导致的

#4


问题还是没有解决……
一直存在。

#1


  你这个 js 里面不是有多个 function 么 ? 一个一个的调 ,先将其他的 function 注释 ,跑一个 function 直到 找到导致该原因的那个 function  ,这样不就缩小了查找范围 ?

#2


 商务通的在线客服js 代码!!!

慢的原因在:
document.write('<scri' + 'pt language="javascript" src="http:\/\/lvt.zoosnet.net\/JS\/LsJS.aspx?siteid=' + cfg.ChartID + '&float=1"><\/scr' + 'ipt>');


它应该还动态加载了其它js

你用 firebug ,可以看到所有的网络资源!这样容易找到瓶颈!

可以设置这些js 延时加载

#3


引用 2 楼 hch126163 的回复:
 商务通的在线客服js 代码!!!

慢的原因在:
document.write('<scri' + 'pt language="javascript" src="http:\/\/lvt.zoosnet.net\/JS\/LsJS.aspx?siteid=' + cfg.ChartID + '&amp;float=1"><\/scr' + 'ipt>');
它应该还动态加载了其……

还是没有啊,用排除法,并不是这个导致的,是他背后的写在$(function(){ })这个里面的代码导致的

#4


问题还是没有解决……
一直存在。