添加收藏
 系统管理
 联系方式
  汉南在线网页设计JavaScript脚本

可以改变大小的窗口
作  者:汉南居士
关键字:JavaScript



<body><style> {
 box-sizing: border-box; moz-box-sizing: border-box
}
#testDiv     { background-color: buttonface; background-repeat: repeat;
               background-attachment: scroll; color: #3969A5; height: 300px;
               left: 200px;top:200px;overflow: hidden; width: 500; z-index: 2;
               border: 2px outset white; margin: 0px; padding: 2px;
               background-position: 0% 50% }
body         { font-family: Verdana; font-size: 9pt }
#innerNice   { background-color: white; background-repeat: repeat; background-attachment:
               scroll; color: #3969A5; height: 100%; overflow: auto; width:
               100%; border: 2px inset white; padding: 8px;
               background-position: 0% 50% }
</style>
<div class="resizeMe" id="testDiv">
  <div id="innerNice">
    <p align="center"> </p>
    <p align="center">
请在边框处拖动鼠标</p>
    <p> </p>
    <p> </p>
    <p> </p>
  </div>
</div>
<SCRIPT language=javascript>
/////////////////////////////////////////////////////////////////////////
// Generic Resize by Erik Arvidsson                                    //
//                                                                     //
// You may use this script as long as this disclaimer is remained.     //
// See www.dtek.chalmers.se/~d96erik/dhtml/ for mor info               //
//                                                                     //
// How to use this script!                                             //
// Link the script in the HEAD and create a container (DIV, preferable //
// absolute positioned) and add the class="resizeMe" to it.            //
/////////////////////////////////////////////////////////////////////////

var theobject = null; //This gets a value as soon as a resize start

function resizeObject() {
 this.el        = null; //pointer to the object
 this.dir    = "";      //type of current resize (n, s, e, w, ne, nw, se, sw)
 this.grabx = null;     //Some useful values
 this.graby = null;
 this.width = null;
 this.height = null;
 this.left = null;
 this.top = null;
}
 

//Find out what kind of resize! Return a string inlcluding the directions
function getDirection(el) {
 var xPos, yPos, offset, dir;
 dir = "";

 xPos = window.event.offsetX;
 yPos = window.event.offsetY;

 offset = 8; //The distance from the edge in pixels

 if (yPos<offset)
  dir += "n";
 else if (yPos > el.offsetHeight-offset)
  dir += "s";
 if (xPos<offset)
  dir += "w";
 else if (xPos > el.offsetWidth-offset)
  dir += "e";

 return dir;
}

function doDown() {
 var el = getReal(event.srcElement, "className", "resizeMe");

 if (el == null) {
  theobject = null;
  return;
 }  

 dir = getDirection(el);
 if (dir == "") return;

 theobject = new resizeObject();
  
 theobject.el = el;
 theobject.dir = dir;

 theobject.grabx = window.event.clientX;
 theobject.graby = window.event.clientY;
 theobject.width = el.offsetWidth;
 theobject.height = el.offsetHeight;
 theobject.left = el.offsetLeft;
 theobject.top = el.offsetTop;

 window.event.returnValue = false;
 window.event.cancelBubble = true;
}

function doUp() {
 if (theobject != null) {
  theobject = null;
 }
}

function doMove() {
 var el, xPos, yPos, str, xMin, yMin;
 xMin = 20; //The smallest width possible
 yMin = 20; //             height

 el = getReal(event.srcElement, "className", "resizeMe");

 if (el.className == "resizeMe") {
  str = getDirection(el);
 //Fix the cursor 
  if (str == "")
   str = "default";
  else
   str += "-resize";
  el.style.cursor = str;
 }
 
//Dragging starts here
 if(theobject != null) {
  if (dir.indexOf("e") != -1)
   theobject.el.style.pixelWidth = Math.max(xMin, theobject.width + window.event.clientX - theobject.grabx);
 
  if (dir.indexOf("s") != -1)
   theobject.el.style.pixelHeight = Math.max(yMin, theobject.height + window.event.clientY - theobject.graby);

  if (dir.indexOf("w") != -1) {
   theobject.el.style.pixelLeft=Math.max(theobject.left+window.event.clientX-theobject.grabx,theobject.left+theobject.width-xMin);
   theobject.el.style.pixelWidth = Math.max(xMin, theobject.width - window.event.clientX + theobject.grabx);
  }
  if (dir.indexOf("n") != -1) {
   theobject.el.style.pixelTop=Math.min(theobject.top+window.event.clientY-theobject.graby,theobject.top+theobject.height-yMin);
   theobject.el.style.pixelHeight = Math.max(yMin, theobject.height - window.event.clientY + theobject.graby);
  }
  
  window.event.returnValue = false;
  window.event.cancelBubble = true;
 }
}


function getReal(el, type, value) {
 temp = el;
 while ((temp != null) && (temp.tagName != "BODY")) {
  if (eval("temp." + type) == value) {
   el = temp;
   return el;
  }
  temp = temp.parentElement;
 }
 return el;
}

document.onmousedown = doDown;
document.onmouseup   = doUp;
document.onmousemove = doMove;

 

</SCRIPT>



来源:互联网
阅读:364
日期:2006-11-30

【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字体: 】 
上一篇:树型菜单
下一篇:access+vbs(日期)操作举例

  >> 相关文章
 
  ·树型菜单
  ·右键菜单的淡入淡出效
  ·循环向右滚动效果
  ·js对联广告
  ·Window.Open详解
  ·在网页中使用日历控件的例子
  ·表格逐行变换背景色
  ·在网页中使用日历控件

5.12汶川大地震遇难同胞默哀 | 汉南在线总站 | 网站建设 | BT电影下载 | 汉南在线博客 | 流行购商城

授权使用:汉南在线 http://hnzx.hzwz.net/
经营许可证:陕ICP备05000109号 Powered by:汉南在线  
Copyright (c) 2002-2008 汉南在线. All Rights Reserved .