摘在sina的爱问中的对话框脚本

原创 2006年06月04日 21:25:00

var auto_close_hand;
var auto_close_hand1;
var auto_close_hand2;
var is_opera_d  = (navigator.userAgent.toLowerCase().indexOf('opera') != -1);
String.prototype.trim = function()
{
 return this.replace(/(^[ | ]*)|([ | ]*$)/g, "");
}

function $(s)
{
 if(document.getElementById)
 {
  return eval('document.getElementById("' + s + '")');
 }
 else
 {
  return eval('document.all.' + s);
 }
}
function $$(s)
{
 return document.frames?document.frames[s]:$(s).contentWindow;
}
function $c(s)
{
 return document.createElement(s);
}
function swap(s,a,b,c)
{
 $(s)[a]=$(s)[a]==b?c:b;
}
function exist(s)
{
 return $(s)!=null;
}
function dw(s)
{
 document.write(s);
}
function hide(s)
{
 $(s).style.display=$(s).style.display=="none"?"":"none";
}
function isNull(_sVal)
{
 return (_sVal == "" || _sVal == null || _sVal == "undefined");
}
function removeNode(s)
{
 if(exist(s))
 {
  $(s).innerHTML = '';
  $(s).removeNode?$(s).removeNode():$(s).parentNode.removeChild($(s));
 }
}

function dialog()
{
 var titile = '';
 var auto = 'y';
 var width = 240;
 var height = 120;
 var src = "";
 var path = "http://image2.sina.com.cn/pfp/ask/images/zhishi/";
 var sFunc = '<input id="dialogOk" type="button" value=" 确 定 " onclick="new dialog().reset();" /> <input id="dialogCancel" type="button" value=" 取 消 " onclick="new dialog().reset();" />';
 var sClose = '<input type="image" id="dialogBoxClose" onclick="new dialog().reset();" src="' + path + 'close_blue.gif" border="0" width="16" height="16" align="absmiddle" />';
 var sBody = '/
  <table id="dialogBodyBox" border="0" align="center" cellpadding="0" cellspacing="6" width="100%">/
   <tr height="10"><td colspan="4"></td></tr>/
   <tr><td colspan="4" align="center">/
   <div id="dialogMsgDiv" style="text-align:center"><div id="dialogMsg" style="font-size:12px;line-height:180%;"></div></div>/
   </td></tr>/
   <tr><td id="dialogFunc" colspan="4" align="center">' + sFunc + '</td></tr>/
   <tr height="5"><td colspan="4" align="center"></td></tr>/
  </table>/
 ';
 var sIfram = '/
  <iframe id="dialogIframBG" name="dialogIframBG" frameborder="0" marginheight="0" marginwidth="0" hspace="0" vspace="0" scrolling="no" style="position:absolute;z-index:8;display:none;"></iframe>/
 ';

 var sBox = '/
  <div id="dialogBox" style="border:1px solid #1e4775;display:none;z-index:10;width:'+width+'px;">/
  <table width="100%" border="0" cellpadding="0" cellspacing="0">/
   <tr height="24" bgcolor="#6795B4">/
    <td>/
     <table onselectstart="return false;" style="-moz-user-select:none;" width="100%" border="0" cellpadding="0" cellspacing="0" style="background-color:#5499dc;  height:25px; border-top:1px solid #92c3ec;">/
      <tr>/
       <td width="6" height="24"></td>/
       <td id="dialogBoxTitle" onmousedown="new dialog().moveStart(event, /'dialogBox/')" style="color:#fff;cursor:move;font-size:12px;font-weight:bold;">&nbsp;</td>/
       <td id="dialogClose" width="20" align="right" valign="middle">/
        ' + sClose + '/
       </td>/
       <td width="6"></td>/
      </tr>/
     </table>/
    </td>/
   </tr>/
   <tr id="dialogHeight" style="height:' + height + '" valign="top">/
    <td id="dialogBody" bgcolor="#ffffff">' + sBody + '</td>/
   </tr>/
  </table></div>/
  <div id="dialogBoxShadow" style="display:none;z-index:9;"></div>/
 ';
 var sBG = '/
  <div id="dialogBoxBG" style="position:absolute;top:0px;left:0px;width:100%;height:100%;"></div>/
 ';

 this.show = function()
 {
  this.middle('dialogBox');
  if ($('dialogIframBG'))
  {
   $('dialogIframBG').style.top = $('dialogBox').style.top;
   $('dialogIframBG').style.left = $('dialogBox').style.left;
   $('dialogIframBG').style.width = $('dialogBox').offsetWidth;
   $('dialogIframBG').style.height = $('dialogBox').offsetHeight;
   $('dialogIframBG').style.display = 'block';
  }  
  this.shadow();
 }

 this.reset = function()
 {
  this.close();
 }

 this.close = function()
 {
  if ($('dialogIframBG'))
  {
   $('dialogIframBG').style.display = 'none';
  }
  $('dialogBox').style.display='none';
  $('dialogBoxBG').style.display='none';
  $('dialogBoxShadow').style.display = "none";
  $('dialogBody').innerHTML = sBody;
 }
 this.html = function(_sHtml)
 {
  $("dialogBody").innerHTML = _sHtml;
  this.show();
 }

 this.init = function(big_msg)
 {
  $('dialogCase') ? $('dialogCase').parentNode.removeChild($('dialogCase')) : function(){};
  var oDiv = document.createElement('span');
  oDiv.id = "dialogCase";
  if ('yes' == big_msg)
  {
   oDiv.innerHTML = sBG + sBox;
  }
  else
  {
   if (!is_opera_d)
   {
    oDiv.innerHTML = sBG + sIfram + sBox;
   }
   else
   {
    oDiv.innerHTML = sBG + sBox;
   }
  }
  document.body.appendChild(oDiv);
  $('dialogBoxBG').style.height = document.body.scrollHeight;
 }

 this.button = function(_sId, _sFuc)
 {
  if($(_sId))
  {
   $(_sId).style.display = '';
   if($(_sId).addEventListener)
   {
    if($(_sId).act)
    {
     $(_sId).removeEventListener('click', function(){eval($(_sId).act)}, false);
    }
    $(_sId).act = _sFuc;
    $(_sId).addEventListener('click', function(){eval(_sFuc)}, false);
   }
   else
   {
    if($(_sId).act)
    {
     $(_sId).detachEvent('onclick', function(){eval($(_sId).act)});
    }
    $(_sId).act = _sFuc;
    $(_sId).attachEvent('onclick', function(){eval(_sFuc)});
   }
  }
 }

 this.shadow = function()
 {
  var oShadow = $('dialogBoxShadow');
  var oDialog = $('dialogBox');
  oShadow['style']['position'] = "absolute";
  oShadow['style']['background'] = "#000";
  oShadow['style']['display'] = "";
  oShadow['style']['opacity'] = "0.2";
  oShadow['style']['filter'] = "alpha(opacity=20)";
  oShadow['style']['top'] = oDialog.offsetTop + 6;
  oShadow['style']['left'] = oDialog.offsetLeft + 6;
  oShadow['style']['width'] = oDialog.offsetWidth;
  oShadow['style']['height'] = oDialog.offsetHeight;
 }

 this.open = function(_sUrl, _sMode)
 {
  this.show();
  if(!_sMode || _sMode == "no" || _sMode == "yes"){
   var openIframe = "<iframe width='100%' height='100%' name='iframe_parent' id='iframe_parent' src='" + _sUrl + "' frameborder='0' scrolling='" + _sMode + "'></iframe>";
   $("dialogBody").innerHTML = openIframe;
  }
 }

 this.showWindow = function(_sUrl, _iWidth, _iHeight, _sMode)
 {
  var oWindow;
  var sLeft = (screen.width) ? (screen.width - _iWidth)/2 : 0;
  var iTop = -80 + (screen.height - _iHeight)/2;
  iTop = iTop > 0 ? iTop : (screen.height - _iHeight)/2;
  var sTop = (screen.height) ? iTop : 0;
  if(window.showModalDialog && _sMode == "m"){
   oWindow = window.showModalDialog(_sUrl,"","dialogWidth:" + _iWidth + "px;dialogheight:" + _iHeight + "px");
  } else {
   oWindow = window.open(_sUrl, '', 'height=' + _iHeight + ', width=' + _iWidth + ', top=' + sTop + ', left=' + sLeft + ', toolbar=no, menubar=no, scrollbars=' + _sMode + ', resizable=no,location=no, status=no');
   this.reset();
  }
 }

 this.event = function(_sMsg, _sOk, _sCancel, _sClose)
 {
  $('dialogFunc').innerHTML = sFunc;
  $('dialogClose').innerHTML = sClose;
  $('dialogBodyBox') == null ? $('dialogBody').innerHTML = sBody : function(){};
  if (width > 400 && height > 300)
  {
   $('dialogMsg') ? $('dialogMsg').innerHTML = _sMsg  : function(){};
   $('dialogMsg') ? $('dialogMsg')['style']['fontWeight'] = "bold" : function(){};
   $('dialogMsg') ? $('dialogMsg')['style']['fontSize'] = "15px" : function(){};
   $('dialogMsg') ? $('dialogMsg')['style']['color'] = "#ff9900" : function(){};
   $('dialogMsg') ? $('dialogMsg')['style']['height'] = "150px" : function(){};
  }
  else
  {
   $('dialogMsg') ? $('dialogMsg').innerHTML = _sMsg  : function(){};
  }

  _sOk && _sOk != "" ? this.button('dialogOk', _sOk) : $('dialogOk').style.display = 'none';
  _sCancel && _sCancel != "" ? this.button('dialogCancel', _sCancel) : $('dialogCancel').style.display = 'none';
  //_sOk ? this.button('dialogOk', _sOk) : _sOk == "" ? function(){} : $('dialogCancel').style.display = 'none';
  //_sCancel ? this.button('dialogCancel', _sCancel) : _sCancel == "" ? function(){} : $('dialogCancel').style.display = 'none';
  _sClose ? this.button('dialogBoxClose', _sClose) : function(){};

  this.show();
 }

 this.set = function(_oAttr, _sVal)
 {
  var oShadow = $('dialogBoxShadow');
  var oDialog = $('dialogBox');
  var oHeight = $('dialogHeight');

  if(_sVal != '')
  {
   switch(_oAttr)
   {
    case 'title':
     $('dialogBoxTitle').innerHTML = _sVal;
     title = _sVal;
     break;
    case 'width':
     oDialog['style']['width'] = _sVal;
     width = _sVal;
     break;
    case 'height':
     oHeight['style']['height'] = _sVal;
     height = _sVal;
     break;
    case 'src':
     $('dialogMsgDiv').innerHTML = '/
      <table border="0" align="center" cellpadding="0" cellspacing="0" width="100%">/
       <tr>/
        <td width="30%" align="center"><img id="dialogBoxFace" src="' + path + 'login_wrong.gif" /></td>/
        <td id="dialogMsg" style="font-size:12px;line-height:180%;" width="70%"></td>/
       </tr>/
      </table>/
     ';
     $('dialogBoxFace') ? $('dialogBoxFace').src = path + _sVal + '.gif' : function(){};
     src = _sVal;
     break;
    case 'auto':
     auto = _sVal;
   }
  }
  this.middle('dialogBox');
  oShadow['style']['top'] = oDialog.offsetTop + 6;
  oShadow['style']['left'] = oDialog.offsetLeft + 6;
  oShadow['style']['width'] = oDialog.offsetWidth;
  oShadow['style']['height'] = oDialog.offsetHeight;
 }

 this.moveStart = function (event, _sId)
 {
  var oObj = $(_sId);
  oObj.onmousemove = mousemove;
  oObj.onmouseup = mouseup;
  oObj.setCapture ? oObj.setCapture() : function(){};
  oEvent = window.event ? window.event : event;
  var dragData = {x : oEvent.clientX, y : oEvent.clientY};
  var backData = {x : parseInt(oObj.style.top), y : parseInt(oObj.style.left)};
  function mousemove()
  {
   var oEvent = window.event ? window.event : event;
   var iLeft = oEvent.clientX - dragData["x"] + parseInt(oObj.style.left);
   var iTop = oEvent.clientY - dragData["y"] + parseInt(oObj.style.top);
   oObj.style.left = iLeft;
   oObj.style.top = iTop;
   $('dialogBoxShadow').style.left = iLeft + 6;
   $('dialogBoxShadow').style.top = iTop + 6;
   if ($('dialogIframBG'))
   {
    $('dialogIframBG').style.left = iLeft;
    $('dialogIframBG').style.top = iTop;
   }
   dragData = {x: oEvent.clientX, y: oEvent.clientY};

  }
  function mouseup()
  {
   var oEvent = window.event ? window.event : event;
   oObj.onmousemove = null;
   oObj.onmouseup = null;
   if(oEvent.clientX < 1 || oEvent.clientY < 1 || oEvent.clientX > document.body.clientWidth || oEvent.clientY > document.body.clientHeight){
    oObj.style.left = backData.y;
    oObj.style.top = backData.x;
    $('dialogBoxShadow').style.left = backData.y + 6;
    $('dialogBoxShadow').style.top = backData.x + 6;
    if ($('dialogIframBG'))
    {
     $('dialogIframBG').style.left = backData.y;
     $('dialogIframBG').style.top = backData.x;
    }
   }
   oObj.releaseCapture ? oObj.releaseCapture() : function(){};
  }
 }

 this.hideModule = function(_sType, _sDisplay)
 {
  var aIframe = parent.document.getElementsByTagName("iframe");
  var aType = document.getElementsByTagName(_sType);
  var iChildObj, iChildLen;
  for (var i = 0; i < aType.length; i++)
  {
   aType[i].style.display = _sDisplay;
  }
  for (var j = 0; j < aIframe.length; j++)
  {
   iChildObj = document.frames ? document.frames[j] : aIframe[j].contentWindow;
   try
   {
    iChildLen = iChildObj.document.body.getElementsByTagName(_sType).length;
    for (var k = 0; k < iChildLen; k++)
    {
     iChildObj.document.body.getElementsByTagName(_sType)[k].style.display = _sDisplay;
    }
   }
   catch (e){}
  }
 }

 this.middle = function(_sId)
 {
  try
  {
   var aIframe = parent.document.getElementById("iframe_parent");
  }
  catch (e){}
  if (aIframe) {
   var sClientWidth = aIframe.offsetWidth;
   var sClientHeight = aIframe.offsetHeight;
   var sScrollTop = 0;
  } else {
   var sClientWidth = parent ? parent.document.body.clientWidth : document.body.clientWidth;
   var sClientHeight = parent ? parent.document.body.clientHeight : document.body.clientHeight;
   var sScrollTop = parent ? parent.document.body.scrollTop : document.body.scrollTop;
  }
  var sleft = (document.body.clientWidth / 2) - ($(_sId).offsetWidth / 2);
  var iTop = -80 + (sClientHeight / 2 + sScrollTop) - ($(_sId).offsetHeight / 2);
  var sTop = iTop > 0 ? iTop : (sClientHeight / 2 + sScrollTop) - ($(_sId).offsetHeight / 2);
  $(_sId)['style']['display'] = '';
  $(_sId)['style']['position'] = "absolute";
  $(_sId)['style']['left'] = sleft;
  $(_sId)['style']['top'] = sTop;
 }
}

function _error_msg_show(msg, click, icon, title)
{
    click = click ? click : ' ';
    icon = icon ? icon : '';
    title = title ? title : '爱问知识人提示';
    dg=new dialog();
    dg.init();
    dg.set('src', get_icon(icon));
    dg.set('title', title);
    dg.event(msg, click, '', click);
}

function _confirm_msg_show(msg, click_ok, click_no, title, width, height)
{
    click_ok = click_ok ? click_ok : ' ';
    click_no = click_no ? click_no : ' ';
    title = title ? title : '爱问知识人提示';

    dg=new dialog();
    dg.init();
    dg.set('src', get_icon(''));
    dg.set('title', title);
 if (width)
    {
        dg.set('width', width);
    }
    if (height)
    {
        dg.set('height', height);
    }
    dg.event(msg, click_ok, click_no, click_no);
 $("dialogOk").value="继续提交";
 $("dialogCancel").value="我要修改";
}

function _set_id_focus(idname)
{
 if (idname != "")
 {
  try {$(idname).focus();}catch (e){}
 }
}

function get_icon(icons)
{
 var icon = 'login_wrong';
 return icon;
}

function openWindow(_sUrl, _sWidth, _sHeight, _sTitle, _sScroll)
{
 var oEdit = new dialog();
 oEdit.init('yes');
 oEdit.set('title', _sTitle ? _sTitle : "系统提示信息" );
 oEdit.set('width', _sWidth);
 oEdit.set('height', _sHeight);
 oEdit.set('auto', 'n');
 oEdit.open(_sUrl, _sScroll != "yes" ? 'no' : 'yes');
}

function getFrameNode(sNode){
 return document.frames ? document.frames[sNode] : document.getElementById(sNode).contentWindow;
}

function zsxz(ta, zs, maxl)
{
 if(ta.value.length > maxl)
 {
  ta.value = ta.value.substring(0,maxl);
 }
 else
 {
  zs.value = maxl - ta.value.length;
 }
}

function strLen(key){
 var l=escape(key),len
 len=l.length-(l.length-l.replace(//%u/g,"u").length)*4
 l=l.replace(//%u/g,"uu")
 len=len-(l.length-l.replace(//%/g,"").length)*2
 return len
}

ACM-爱摘苹果的小明

描述 小明家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,小明就会跑去摘苹果。小明有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。   现在已知1...
  • u012701023
  • u012701023
  • 2015年05月15日 11:37
  • 455

C语言递归——猴子摘桃

猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又多吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,问第一天共摘下来...
  • h1580824951
  • h1580824951
  • 2016年05月03日 17:18
  • 1735

爬取爱问知识人问题并保存到数据库

前言: 基于崔庆才的(http://cuiqingcai.com/1972.htmlPython)爬虫实战六之抓取爱问知识人问题并保存至数据库 上面博客由于显示问题,可能看不到全部代码,可以通过查...
  • sinat_36802840
  • sinat_36802840
  • 2016年12月22日 23:30
  • 250

抓取爱问知识人问题,保存至数据库。

新手上路,欢迎批评。博客暂时只为记录学习过程。 抓取结果: 整体思路: 1.链接数据库并建好一张表。要存储以下信息,问题,回答者,回答时间,回答内容。 def createtable(): # 打开...
  • Waterkong
  • Waterkong
  • 2017年06月11日 10:56
  • 196

小猴子摘桃子问题 -- JAVA 算法学习

小猴子下山,沿着下山的路有一排桃树,每棵树都结了一些桃子。小猴子想摘桃子,但是有一些条件需要遵守,小猴子只能沿着下山的方向走,不能回头,每颗树最多摘一个,而且一旦摘了一棵树的桃子,就不能再摘比这棵树结...
  • github_39500681
  • github_39500681
  • 2017年08月21日 19:55
  • 445

WINDOWS任务管理器进程大全

打开WINDOWS的任务管理器,在进程选项卡中有一大堆正在运行的进程。但是普通人很难分辨出这些进程的来历!哪些是正常的进程,哪些又是木马,病毒的进程一下的内容绝对值得你珍藏下来,因为他们几乎包括咯所有...
  • dlyhlq
  • dlyhlq
  • 2008年02月17日 21:09
  • 627

在对话框中使用子窗口控件

子窗口控件定义的一般语法是:        CONTROL 文本, ID, 类, 风格, x, y, 宽度, 高度 [, 扩展风格]        “文本”指控件的初始化值,“ID”是子窗...
  • vigor512
  • vigor512
  • 2014年05月15日 17:01
  • 404

Java 斐波拉契高级问题(上台阶的问题)

一,问题描述 1,有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或者二级,要走上M级,共有多少走法?其中M取值范围为1~100,结果值需要Mod 1000000007的值。例如 输入 3 ...
  • wodedipang_
  • wodedipang_
  • 2017年04月27日 21:17
  • 292

详解加密技术概念、加密方法以及应用(3)

五、加密技术中的摘要函数(MAD、MAD和MAD)         摘要是一种防止改动的方法,其中用到的函数叫摘要函数。这些函数的输入可以是任意大小的消息,而输出是一个固定长度的摘要。摘要有这样一个性...
  • metababy
  • metababy
  • 2005年12月29日 10:14
  • 1540

【ibokan】新浪博客等一些博客平台贴代码不显示问题解决方法

概 要 新浪博客登陆 ☜ 百度空间登陆 ☜ CSDN登陆     ☜ 针对这些日子来老师要我们每天写博看,分享自己的...
  • huangyibin628
  • huangyibin628
  • 2014年02月24日 20:44
  • 2461
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:摘在sina的爱问中的对话框脚本
举报原因:
原因补充:

(最多只允许输入30个字)