JavaScript 制作浮动的工具条
时间:2007-02-17 来源:PHP爱好者
  该程序是我从别人的网站上分析出来的!由于对方的网站使用了框架,而且又取消了鼠标的右键功能,因此费了好长时间!
  当你浏览该页时,工具条始终浮在左上角,你若不喜欢,可以自己调节摆放位置!若想多页使用该代码,可以把JSP程序部分写成JS的文件,然后再通过调用来实现,有不明白的地方,欢迎各位与我交流!
  演示地址:http://www.85time.com/softuse/bar.htm
  <HTML>
  <HEAD>
  <TITLE></TITLE>
  <META http-equiv="Content-Type" content="text/html; charset=gb2312">
  <STYLE type="text/css">
  .wdBlack{ font-size:9pt; line- font-family:宋体; color:black }
  .wdGray{ font-size:9pt; line- font-family:宋体; color:#CCCCCC }
  .wdBlue{ font-size:9pt; line- font-family:宋体; color:#2F8BDF }
  .wdRed{ font-size:9pt; line- font-family:宋体; color:red }
  .wdWhite{ font-size:9pt; line- font-family:宋体; color:white }
  .moveme{cursor: move;}
  .handle{cursor: move;}
  .coolBar{background: #fffffc;border-top: 1px solid buttonhighlight; border-left: 1px solid buttonhighlight; border-bottom: 1px solid buttonshadow; border-right: 1px solid buttonshadow; padding: 2px; font: menu;}
  .coolButton{font-size:9pt;border: 1px solid buttonface; padding: 1px; text-align: center; cursor: hand;color:#555555}
  .coolButton IMG {filter: gray();} div{ font-size:9pt; line- font-family:宋体; color:black }
  Text{ font-size:9pt; line- font-family:宋体; color:black }
  INPUT{ font-size:9pt; line- font-family:宋体; color:black }
  table{ font-size:9pt; line- font-family:宋体; color:black }
  body{ font-size:9pt; line- font-family:宋体; color:black }
  form{ font-size:9pt; line- font-family:宋体; color:black }
  A:link{ font-size:9pt; font-family:宋体; text-decoration: none; color:#2F8BDF }
  A:visited{ font-size:9pt; font-family:宋体; text-decoration: none; color:#2F8BDF }
  A:hover{ font-size:9pt; font-family:宋体; text-decoration: underline; color:#FF0000 }
  </STYLE>
  <script language="javascript">
  var dragobject = null;
  var tx;
  var ty;
  document.onmouseover = doOver;
  document.onmouseout = doOut;
  document.onmousedown = doDown;
  document.onmouseup = doUp;
  document.onmousedown=initDown;
  document.onmouseup=initUp;
  document.onmousemove=initMove;
  function stat(){
  var a = pageYOffset;
  document.bar.top = a;
  setTimeout('stat()',2);
  }
  function fix(){
  nome=navigator.appName
  if(nome=='Netscape') stat();
  else{
  var a=document.body.scrollTop;
  var b=document.body.scrollLeft;
  bar.style.top = a;
  bar.style.left = b;
  }
  }
  function getReal(el) {
  temp = el;
  while ((temp != null) && (temp.tagName != "BODY")) {
  if ((temp.className == "moveme") || (temp.className == "handle")){
  el = temp;
  return el;
  }
  temp = temp.parentElement;
  }
  return el;
  }
  function moveme_onmousedown() {
  el = getReal(window.event.srcElement)
  if (el.className == "moveme") {
  dragobject = el;
  ty = (window.event.clientY - dragobject.style.pixelTop);
  tx = (window.event.clientX - dragobject.style.pixelLeft);
  window.event.returnValue = false;
  window.event.cancelBubble = true;
  }else if (el.className == "handle") {
  tmp = el.getAttribute("for");
  if (tmp != null) {
  el = eval(tmp);
  dragobject = el;
  ty = (window.event.clientY - dragobject.style.pixelTop);
  tx = (window.event.clientX - dragobject.style.pixelLeft);
  window.event.returnValue = false;
  window.event.cancelBubble = true;
  } else {
  dragobject = null;
  }
  }else {
  dragobject = null;
  }
  }
  function moveme_onmouseup() {
  if(dragobject) {
  dragobject = null;
  }
  }
  function moveme_onmousemove() {
  if (dragobject) {
  if(window.event.clientX >= 0) {
  dragobject.style.left = window.event.clientX - tx;
  dragobject.style.top = window.event.clientY - ty;
  }
  window.event.returnValue = false;
  window.event.cancelBubble = true;
  }
  }
  if (document.all) {
  document.onmousedown = moveme_onmousedown;
  document.onmouseup = moveme_onmouseup;
  document.onmousemove = moveme_onmousemove;
  }
  function doOver() {
  var toEl = getReal(window.event.toElement, "className", "coolButton");
  var fromEl = getReal(window.event.fromElement, "className", "coolButton");
  if (toEl == fromEl) return;
  var el = toEl;
  var cDisabled = el.cDisabled;
  cDisabled = (cDisabled != null);
  if (el.className == "coolButton")
  el.onselectstart = new Function("return false");
  if ((el.className == "coolButton") && !cDisabled) {
  makeRaised(el);
  makeGray(el,false);
  }
  }
  function doOut() {
  var toEl = getReal(window.event.toElement, "className", "coolButton");
  var fromEl = getReal(window.event.fromElement, "className", "coolButton");
  if (toEl == fromEl) return;
  var el = fromEl;
  var cDisabled = el.cDisabled;
  cDisabled = (cDisabled != null);
  var cToggle = el.cToggle;
  toggle_disabled = (cToggle != null);
  if (cToggle && el.value) {
  makePressed(el);
  makeGray(el,true);
  }
  else if ((el.className == "coolButton") && !cDisabled) {
  makeFlat(el);
  makeGray(el,true);
  }
  }
  function doDown() {
  el = getReal(window.event.srcElement, "className", "coolButton");
  var cDisabled = el.cDisabled;
  cDisabled = (cDisabled != null);
  if ((el.className == "coolButton") && !cDisabled) {
  makePressed(el)
  }
  }
  function doUp() {
  el = getReal(window.event.srcElement, "className", "coolButton");
  var cDisabled = el.cDisabled;
  cDisabled = (cDisabled != null);
  if ((el.className == "coolButton") && !cDisabled) {
  makeRaised(el);
  }
  }
  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;
  }
  function findChildren(el, type, value) {
  var children = el.children;
  var tmp = new Array();
  var j=0;
  for (var i=0; i<children.length; i++) {
  if (eval("children." + type + "=="" + value + """)) {
  tmp[tmp.length] = children;
  }
  tmp = tmp.concat(findChildren(children, type, value));
  }
  return tmp;
  }
  function disable(el) {
  if (document.readyState != "complete") {
  window.setTimeout("disable(" + el.id + ")", 100);
  return;
  }
  var cDisabled = el.cDisabled;
  cDisabled = (cDisabled != null);
  if (!cDisabled) {
  el.cDisabled = true;
  el.innerHTML = '<span style="background: buttonshadow; width: 100%;  text-align: center;border:1px">' +
  '<span style="filter:Mask(Color=buttonface) DropShadow(Color=buttonhighlight, OffX=1, OffY=1, Positive=0);  width: 100%%; text-align: center;border:1px">' +
  el.innerHTML +
  '</span>' +
  '</span>';
  if (el.onclick != null) {
  el.cDisabled_onclick = el.onclick;
  el.onclick = null;
  }
  }
  }
  function enable(el) {
  var cDisabled = el.cDisabled;
  cDisabled = (cDisabled != null);
  if (cDisabled) {
  el.cDisabled = null;
  el.innerHTML = el.children[0].children[0].innerHTML;
  if (el.cDisabled_onclick != null) {
  el.onclick = el.cDisabled_onclick;
  el.cDisabled_onclick = null;
  }
  }
  }
  function addToggle(el) {
  var cDisabled = el.cDisabled;
  cDisabled = (cDisabled != null);
  var cToggle = el.cToggle;
  cToggle = (cToggle != null);
  if (!cToggle && !cDisabled) {
  el.cToggle = true;
  if (el.value == null)
  el.value = 0;
  if (el.onclick != null)
  el.cToggle_onclick = el.onclick;
  else
  el.cToggle_onclick = "";
  el.onclick = new Function("toggle(" + el.id +"); " + el.id + ".cToggle_onclick();");
  }
  }
  function removeToggle(el) {
  var cDisabled = el.cDisabled;
  cDisabled = (cDisabled != null);
  var cToggle = el.cToggle;
  cToggle = (cToggle != null);
  if (cToggle && !cDisabled) {
  el.cToggle = null;
  if (el.value) {
  toggle(el);
  }
  makeFlat(el);
  if (el.cToggle_onclick != null) {
  el.onclick = el.cToggle_onclick;
  el.cToggle_onclick = null;
  }
  }
  }
  function toggle(el) {
  el.value = !el.value;
  if (el.value)
  el.style.background = "URL()";
  else
  el.style.backgroundImage = "";
  }
  function makeFlat(el) {
  with (el.style) {
  background = "";
  border = "1px solid buttonface";
  padding = "1px";
  }
  }
  function makeRaised(el) {
  with (el.style) {
  borderLeft = "1px solid #2F8BDF";
  borderRight = "1px solid #2F8BDF";
  borderTop = "1px solid #2F8BDF";
  borderBottom = "1px solid #2F8BDF";
  padding = "1px";
  }
  }
  function makePressed(el) {
  with (el.style) {
  borderLeft = "1px solid buttonhighlight";
  borderRight = "1px solid buttonshadow";
  borderTop = "1px solid buttonhighlight";
  borderBottom = "1px solid buttonshadow";
  paddingTop = "2px";
  paddingLeft = "2px";
  paddingBottom = "0px";
  paddingRight = "0px";
  }
  }
  function makeGray(el,b) {
  var filtval;
  if (b)
  filtval = "gray()";
  else
  filtval = "";
  var imgs = findChildren(el, "tagName", "IMG");
  for (var i=0; i<imgs.length; i++) {
  imgs.style.filter = filtval;
  }
  }
  function load(ws) {
  parent.location.href=ws;
  }
  function initDown() {
  doDown();
  moveme_onmousedown();
  }
  function initUp() {
  doUp();
  moveme_onmouseup();
  }
  function initMove() {
  moveme_onmousemove();
  }
  </script>
  </HEAD>
  <BODY onLoad='fix()' onScroll="fix()" onResize="fix()">
  <span id="bar" style="position:absolute;left:0px;top:0px;width:500px;  z-index:9">
  <table class=coolBar id=toolbar1 width=100%>
  <tr>
  <td class=coolButton onclick="javascript:self.location='http://www.85time.com/85time/'">网友论坛</td>
  <td class=coolButton onclick="javascript:self.location='http://www.85time.com/engine.htm'">实用引擎</td>
  <td class=coolButton onclick="javascript:self.location='http://www.85time.com/opus/opus.htm'">推荐作品</td>
  <td class=coolButton onclick="javascript:self.location='http://www.85time.com/gb/'">留言板</td>
  <td class=coolButton onclick="javascript:self.location='http://www.85time.com/chat/'">聊天室</td>
  </tr>
  </table>
  </span>
  </body>
  </html>
php爱好者站 http://www.phpfans.net PHP|MySQL|javascript|ajax|html.










