博客迷你提示条

简爱代码>JavaScript2013-6-16 9:5557758

在需要显示 提示的位置插入本代码即可

<script type="text/javascript" src="http://www.gouji.org/api/weather/tips.js"></script>
这样就可以 为 博客插入 日期、时间、天气 提示信息

也可自定义内容(如果您略懂 javascript 的话)

JS 代码如下: (无需加载 JQ 库)

 /** 获取指定网址数据 写入 指定 id 容器 (这里是写入 id 为 JA_weather 的容器) **/
window.onload=getData('http://www.gouji.org/api/weather/7.php','JA_weather');

/** 远程 AJAX 获取数据、解析类 **/
function getData(url,id){
  var myhttp=null;
  try {
    myhttp = new ActiveXObject("Msxml2.XMLHTTP");
  }catch(ie){
    try{
      myhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }catch(huohu){
      myhttp = new XMLHttpRequest();
    }
  }
  var d=document.getElementById(id);
  d.innerHTML="loading ...";
  myhttp.open("GET",url,true);
  myhttp.onreadystatechange=function(){
    if(myhttp.readyState==4 && myhttp.status==200){

      var strs= new Array();
      strs=myhttp.responseText.split(",");
      tips='城市: '+strs[0]+'<br>今天: '+strs[1]+'<br>明天: '+strs[2]+'<br>后天: '+strs[3]+'<br>更新时间: '+strs[8];
      text='<span onmouseover="wsug(event, \''+tips+'\')" onmouseout="wsug(event, 0)"> &nbsp;['+strs[0]+'] '+strs[1]+'</span>';
      d.innerHTML=text;

    }else{
      d.innerHTML="Error";
    }
  }
  myhttp.send(null);
}

/** 提示层 **/
function wsug(e, str){
  var oThis = arguments.callee;
  if(!str){
    oThis.sug.style.visibility = 'hidden';
    document.onmousemove = null;
    return;
  }
  if(!oThis.sug){
    var div = document.createElement('div'), css = 'top:0; left:0; position:absolute; z-index:100; visibility:hidden';
      div.style.cssText = css;
      div.setAttribute('style',css);
    var sug = document.createElement('div'), css= 'font:normal 12px/16px "宋体"; white-space:nowrap; color:#000; padding:3px; position:absolute; left:0; top:0; z-index:10; background:#f9fdfd; border:2px solid #08d';
      sug.style.cssText = css;
      sug.setAttribute('style',css);
    var dr = document.createElement('div'), css = 'position:absolute; top:3px; left:3px; background:#666; filter:alpha(opacity=50); opacity:0.5; z-index:9';
      dr.style.cssText = css;
      dr.setAttribute('style',css);
    var ifr = document.createElement('iframe'), css='position:absolute; left:0; top:0; z-index:8; filter:alpha(opacity=0); opacity:0';
      ifr.style.cssText = css;
      ifr.setAttribute('style',css);
    div.appendChild(ifr);
    div.appendChild(dr);
    div.appendChild(sug);
    div.sug = sug;
    document.body.appendChild(div);
    oThis.sug = div;
    oThis.dr = dr;
    oThis.ifr = ifr;
    div = dr = ifr = sug = null;
  }
  var e = e || window.event, obj = oThis.sug, dr = oThis.dr, ifr = oThis.ifr;
  obj.sug.innerHTML = str;
  var w = obj.sug.offsetWidth, h = obj.sug.offsetHeight, dw = document.documentElement.clientWidth||document.body.clientWidth; dh = document.documentElement.clientHeight || document.body.clientHeight;
  var st = document.documentElement.scrollTop || document.body.scrollTop, sl = document.documentElement.scrollLeft || document.body.scrollLeft;
  var left = e.clientX +sl +17 + w < dw + sl && e.clientX + sl + 15 || e.clientX +sl-8 - w, top = e.clientY + st + 17;
  obj.style.left = left+ 10 + 'px';
  obj.style.top = top + 10 + 'px';
  dr.style.width = w + 'px';
  dr.style.height = h + 'px';
  ifr.style.width = w + 3 + 'px';
  ifr.style.height = h + 3 + 'px';
  obj.style.visibility = 'visible';
  document.onmousemove = function(e){
    var e = e || window.event, st = document.documentElement.scrollTop || document.body.scrollTop, sl = document.documentElement.scrollLeft || document.body.scrollLeft;
    var left = e.clientX +sl +17 + w < dw + sl && e.clientX + sl + 15 || e.clientX +sl-8 - w, top = e.clientY + st +17 + h < dh + st && e.clientY + st + 17 || e.clientY + st - 5 - h;
    obj.style.left = left + 'px';
    obj.style.top = top + 'px';
  }
}

本文出自简爱博客,转载时请注明出处及相应链接。

评论

  1. √小楠2015-08-13 14:38回复

    http://www.gouji.org/api/weather/tips.js 失效啦

    1. 简简单单2015-08-13 21:32回复

      @√小楠:谢谢关注本博客,原接口已失效,现在接口为 http://api.asilu.com/weather/

  2. 唐瑞2015-01-01 16:33回复

    呵呵

  3. 盘玩天下2014-12-04 12:42回复

    不错

  4. 一与2013-06-24 13:48回复

    我觉得居中不错,或者导航下面划分一栏,不知道可不可行。

    1. 简爱2013-06-24 21:53回复

      @一与:具体的就 看你自己修改了
      可以引用js的代码写在 div 容器内然后定义 div 样式
      或者修改 js 代码写入指定 id 的 div

  5. 黎健雄2013-06-16 10:49回复

    求个演示效果。

    1. 简爱2013-06-16 17:00回复

      @黎健雄:本站顶部