titlealt.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. function wsug(e, str){
  2. var oThis = arguments.callee;
  3. if(!str) {
  4. oThis.sug.style.visibility = 'hidden';
  5. document.onmousemove = null;
  6. return;
  7. }
  8. if(!oThis.sug){
  9. var div = document.createElement('div'), css = 'top:0; left:0; position:absolute; z-index:100; visibility:hidden';
  10. div.style.cssText = css;
  11. div.setAttribute('style',css);
  12. var sug = document.createElement('div'), css= 'font:normal 12px/16px "宋体"; white-space:nowrap; color:#666; padding:4px 8px; position:absolute; left:0; top:0; z-index:10; background:#FFF; border:1px solid #909090; line-height:20px';
  13. sug.style.cssText = css;
  14. sug.setAttribute('style',css);
  15. var dr = document.createElement('div'), css = 'position:absolute; top:3px; left:3px; background:#333; filter:alpha(opacity=30); opacity:0.5; z-index:9';
  16. dr.style.cssText = css;
  17. dr.setAttribute('style',css);
  18. var ifr = document.createElement('iframe'), css='position:absolute; left:0; top:0; z-index:8; filter:alpha(opacity=0); opacity:0';
  19. ifr.style.cssText = css;
  20. ifr.setAttribute('style',css);
  21. div.appendChild(ifr);
  22. div.appendChild(dr);
  23. div.appendChild(sug);
  24. div.sug = sug;
  25. document.body.appendChild(div);
  26. oThis.sug = div;
  27. oThis.dr = dr;
  28. oThis.ifr = ifr;
  29. div = dr = ifr = sug = null;
  30. }
  31. var e = e || window.event, obj = oThis.sug, dr = oThis.dr, ifr = oThis.ifr;
  32. obj.sug.innerHTML = str;
  33. var w = obj.sug.offsetWidth, h = obj.sug.offsetHeight, dw = document.documentElement.clientWidth||document.body.clientWidth; dh = document.documentElement.clientHeight || document.body.clientHeight;
  34. var st = document.documentElement.scrollTop || document.body.scrollTop, sl = document.documentElement.scrollLeft || document.body.scrollLeft;
  35. 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;
  36. obj.style.left = left+ 10 + 'px';
  37. obj.style.top = top + 10 + 'px';
  38. dr.style.width = w + 'px';
  39. dr.style.height = h + 'px';
  40. ifr.style.width = w + 3 + 'px';
  41. ifr.style.height = h + 3 + 'px';
  42. obj.style.visibility = 'visible';
  43. document.onmousemove = function(e){
  44. var e = e || window.event, st = document.documentElement.scrollTop || document.body.scrollTop, sl = document.documentElement.scrollLeft || document.body.scrollLeft;
  45. 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;
  46. obj.style.left = left + 'px';
  47. obj.style.top = top + 'px';
  48. }
  49. }