javascript问题。急求,达人来救!!! 我用js写了个五星展开效果的页面,可是节点很多。展到最后就有的节点跑到浏览器外面了,但是跑到浏览器上面的节点滚动条也到不了。我想看到上面的节点。这个问题怎么办?达人解决有分赠送。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 代码太长。csdn不让传啊。nnd。 http://www.3lian.com/edu/2009/10-29/692630497725.html可以看看这个链接。就是要是节点在多点的话。节点就会跑到浏览器外面。但是浏览器滚动条不会自动加好导致节点不可见。就是这么个问题。 帮楼主传上来<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>网页特效---五星展开菜单显示效果</title></head><body><style type="text/css">.dot { position: absolute; width: 6; height: 6; visibility: hidden; background-color: red; font-size: 1px; cursor: pointer; cursor: hand; z-index: 100 }.dotoff { position: absolute; width: 6; height: 6; visibility: hidden; background-color: gray; font-size: 1px; cursor:default; z-index: 100}.dotempty { position: absolute; width: 6; height: 6; visibility: hidden; background-color: orange; font-size: 1px; cursor: pointer; cursor: hand; zindex: 100 }.caption { position: absolute; visibility: hidden; font-family: Tahoma; color: black;font-size: 11px; text-align: Center; cursor: default; z-index:1 }body { margin: 0px; background-color: white; }a { color: silver; text-decoration: none }p { font-size: 10px; font-family: tahoma; color: black }</style><script language="JavaScript" type="text/javascript">function lib_bwcheck(){ //Browsercheck (needed)this.ver=navigator.appVersionthis.agent=navigator.userAgentthis.dom=document.getElementById?1:0this.opera5=this.agent.indexOf("Opera 5")>-1this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;this.ie4=(document.all && !this.dom && !this.opera5)?1:0;this.ie=this.ie4||this.ie5||this.ie6this.mac=this.agent.indexOf("Mac")>-1this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;this.ns4=(document.layers && !this.dom)?1:0;this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)return this}var bw=new lib_bwcheck()// The code of this script is in the body, the browsercheck above is not used.</script><script language="javascript1.2" type="text/javascript"><!--// DotMenu// provides cross-browser functionality//======================================function getObjectRef(name) {if(document.getElementById) return document.getElementById(name);else if(document.all) return document.all[name];else return null;}// general functions to assist the script//========================================function show(name) {var el = getObjectRef(name);if(el) el.style.visibility = "visible";}function hide(name) {var el = getObjectRef(name);if(el) el.style.visibility = "hidden";}function getWidth(name) {var el = getObjectRef(name);return el.offsetWidth;}function getHeight(name) {var el = getObjectRef(name);return el.offsetHeight;}function moveMe(name,x,y) {var el = getObjectRef(name);if(el) { el.style.top = parseInt(y); el.style.left = parseInt(x); }}function moveBy(name,x,y) {var el = getObjectRef(name);if(el) { el.style.top = parseInt(el.style.top) + parseInt(y); el.style.left = parseInt(el.style.left) + parseInt(x); }}// Creates the menu objects//==========================var menuCount = 0;function menuObject(name,x,y,caption, r, parent) {if ( (!document.getElementById&&!document.all) || navigator.userAgent.indexOf("Opera")>-1) return;document.write('<div id="divDot' + menuCount + '" class="dotempty" style="top: ' + y + '; left: ' + x + '"></div>');document.write('<div id="divCap' + menuCount + '" class="caption" style="top: 0; left: 0">' + caption + '</div>');this.name = name;this.parent = parentthis.ref = "divDot" + menuCount;this.caption = "divCap" + menuCountif(r) this.radius = r;else this.radius = 400;this.subMenus = new Array();this.state = 0;this.moving = false;if(this.parent) this.action = "null";else this.action = "toggle";if(this.parent) this.startAngle = parent.startAngle;else this.startAngle = 0;getObjectRef(this.ref).objRef = this.name;this.show = function() { show(this.ref); }this.hide = function() { hide(this.ref); }this.moveMe = function(x,y) { if(this.parent) { x += this.parent.x(); y += this.parent.y(); } moveMe(this.ref,x,y); }this.moveBy = function(x,y) { moveBy(this.ref,x,y); }this.x = function() { return parseInt(getObjectRef(this.ref).style.left); }this.y = function() { return parseInt(getObjectRef(this.ref).style.top); }this.w = function() { return getWidth(this.ref); }this.h = function() { return getHeight(this.ref); }this.showCaption = function() {moveMe(this.caption, this.x() - (getWidth(this.caption)/2) + (this.w()/2), (this.y() + this.h()));show(this.caption);}this.hideCaption = function() {hide(this.caption);}this.setCaption = function(c) { getObjectRef(this.caption).innerHTML = c;}this.addItem = function(c,action,r) {getObjectRef(this.ref).className = "dot";if(!r) r = this.radius/2;var sub = new menuObject(this.name + ".subMenus[" + this.subMenus.length + "]",0,0,c,r,this);sub.parent = this;sub.action = action;sub.moveMe(0,0);this.subMenus[this.subMenus.length] = sub;return sub;}this.expand = function() {if(this.subMenus.length > 0) {var p = true;if(this.parent) {p = !this.parent.moving;for(var i=0; i<this.parent.subMenus.length;i++)p = p && ((this.parent.subMenus[i].state==0) || (this.parent.subMenus[i].state==this.parent.subMenus[i].subMenus.length)) && (this.parent.subMenus[i].moving==false);} else var o = false;if((!this.parent || this.parent.state == this.parent.subMenus.length) && p) {if(this.parent) this.collapseAll(this.name);var diff = 360 / this.subMenus.length;for(var i=0;i<this.subMenus.length;i++){this.subMenus[i].moveMe(0,0);this.subMenus[i].show();this.moving = true;this.subMenus[i].slide(this.subMenus[i].radius * cos(degToRad((diff*i)+this.startAngle)), this.subMenus[i].radius * sin(degToRad((diff*i)+this.startAngle)), this.name + ".subMenus[" + i + "].showCaption();" + this.name + ".moving=false;" + this.name + ".state+=1;");}if(this.parent){getObjectRef(this.parent.ref).style.filter = "alpha (opacity=33)";getObjectRef(this.parent.ref).style.MozOpacity = "33%";getObjectRef(this.parent.ref).className = "dotoff";getObjectRef(this.parent.caption).style.filter = "alpha (opacity=33)";getObjectRef(this.parent.caption).style.MozOpacity = "33%";for(i=0;i<this.parent.subMenus.length;i++) {getObjectRef(this.parent.subMenus[i].ref).style.filter = "alpha (opacity=66)";getObjectRef(this.parent.subMenus[i].ref).style.MozOpacity = "66%";getObjectRef(this.parent.subMenus[i].caption).style.filter = "alpha (opacity=66)";getObjectRef(this.parent.subMenus[i].caption).style.MozOpacity = "66%";}if(this.parent.parent) {for(i=0;i<this.parent.parent.subMenus.length;i++) {getObjectRef(this.parent.parent.subMenus[i].ref).style.filter = "alpha (opacity=33)";getObjectRef(this.parent.parent.subMenus[i].ref).style.MozOpacity = "33%";getObjectRef(this.parent.parent.subMenus[i].ref).className = "dotoff";getObjectRef(this.parent.parent.subMenus[i].caption).style.filter = "alpha (opacity=33)";getObjectRef(this.parent.parent.subMenus[i].caption).style.MozOpacity = "33%";}getObjectRef(this.parent.parent.ref).style.MozOpacity = "33%";getObjectRef(this.parent.parent.ref).style.MozOpacity = "33%";getObjectRef(this.parent.parent.ref).className = "dotoff";}}getObjectRef(this.ref).style.filter = "alpha (opacity=66)";getObjectRef(this.caption).style.filter = "alpha (opacity=66)";getObjectRef(this.ref).style.MozOpacity = "66%";getObjectRef(this.caption).style.MozOpacity = "66%";}}}this.collapse = function() {var p = true;p = !this.moving;for(var i=0; i<this.subMenus.length;i++)p = p && (this.subMenus[i].state==0) && (this.subMenus[i].moving==false);if(p && this.subMenus.length > 0) {for(var i=0;i<this.subMenus.length;i++){this.subMenus[i].hideCaption();this.moving = true;this.subMenus[i].slide(0, 0, this.name + ".subMenus[" + i + "].hide();" + this.name + ".moving=false;" + this.name + ".state-=1;");} (续)if(this.parent){getObjectRef(this.parent.ref).style.filter = "alpha (opacity=66)";getObjectRef(this.parent.ref).style.MozOpacity = "66%";if(this.parent.subMenus.length != 0)getObjectRef(this.parent.ref).className = "dot";elsegetObjectRef(this.parent.ref).className = "dotempty";getObjectRef(this.parent.caption).style.filter = "alpha (opacity=66)";getObjectRef(this.parent.caption).style.MozOpacity = "66%";for(i=0;i<this.parent.subMenus.length;i++) {getObjectRef(this.parent.subMenus[i].ref).style.filter = "alpha (opacity=100)";getObjectRef(this.parent.subMenus[i].ref).style.MozOpacity = "100%";if(this.parent.subMenus[i].subMenus.length != 0)getObjectRef(this.parent.subMenus[i].ref).className = "dot";elsegetObjectRef(this.parent.subMenus[i].ref).className = "dotempty";getObjectRef(this.parent.subMenus[i].caption).style.filter = "alpha (opacity=100)";getObjectRef(this.parent.subMenus[i].caption).style.MozOpacity = "100%";}if(this.parent.parent) {for(i=0;i<this.parent.parent.subMenus.length;i++) {getObjectRef(this.parent.parent.subMenus[i].ref).style.filter = "alpha (opacity=66)";getObjectRef(this.parent.parent.subMenus[i].ref).style.MozOpacity = "66%";if(this.parent.parent.subMenus[i].subMenus.length != 0)getObjectRef(this.parent.parent.subMenus[i].ref).className = "dot";elsegetObjectRef(this.parent.parent.subMenus[i].ref).className = "dotempty";getObjectRef(this.parent.parent.subMenus[i].caption).style.filter = "alpha (opacity=66)";getObjectRef(this.parent.parent.subMenus[i].caption).style.MozOpacity = "66%";}}}getObjectRef(this.ref).style.filter = "alpha (opacity=100)";getObjectRef(this.caption).style.filter = "alpha (opacity=100)";getObjectRef(this.ref).style.MozOpacity = "100%";getObjectRef(this.caption).style.MozOpacity = "100%";}}this.collapseAll = function(except) {for(var i=0;i<this.parent.subMenus.length;i++) {if(this.parent.subMenus[i].name!=except && this.parent.subMenus[i].state==this.parent.subMenus[i].subMenus.length) {this.parent.subMenus[i].collapse();}}}this.toggle = function(e) {if(document.all) id = window.event.srcElement;else id = e.target;var dot = eval(id.objRef);if(dot.state==0 && !dot.moving) dot.expand();else if(dot.state==dot.subMenus.length && !dot.moving) dot.collapse()}this.doAction = function(e) {if(document.all) id = window.event.srcElement;else id = e.target;var dot = eval(id.objRef);if(dot.action == "toggle") dot.toggle(e);else eval(dot.action);}//change these if you want to change the events that trigger the actions//========================================================================//getObjectRef(this.ref).onmousemove = this.toggle;getObjectRef(this.ref).onmouseup = this.doAction;this.slide = function(xx,yy,func) {if(!func) func = "";var px = this.parent.x();var py = this.parent.y();var x = xx - this.x() + px;var y = yy - this.y() + py;var d = sqrt(square(xx-this.x() + px) + square(yy-this.y() + py));var v = d/8;if(v<1) v = 1;if( (Math.abs(x) < v) && (Math.abs(y) < v) ) {moveMe(this.ref,xx + px,yy + py);if(func != "") eval(func);} else {var a = round(atan(x,y));dx = round(v * cos(degToRad(a)));dy = round(v * sin(degToRad(a)));this.moveBy(dx,dy);setTimeout(this.name + ".slide(" + xx + "," + yy + ", '" + func + "');",10);}}// Preoading the windows filters.if (menuCount==0 && document.all) document.all[this.ref].style.filter = "alpha (opacity=100)";menuCount++;return this;}// Math functions//================var pi = Math.PI;function square(x) { return (x*x); }function sqrt(x) { return Math.sqrt(x); }function round(x) { return Math.round(x); }function rand(x,y) { return (round(Math.random()*(y-x)) + x); }function cos(x) { return Math.cos(x) }function sin(x) { return Math.sin(x) }function degToRad(x) { return ( x/(360/(2*pi)) ); }function radToDeg(x) { return ( x*(360/(2*pi)) ); }function atan(s,t) {if( s == 0.0 && t > 0.0)angle = 90.0;else if(s == 0.0 && t < 0.0)angle = 270.0;else if (s < 0.0 )angle = 180.0 + radToDeg(Math.atan(t/s));else if (s > 0.0 && t < 0.0)angle = 360.0 + radToDeg(Math.atan(t/s));else {if(s==0.0) s=0.00001;angle = radToDeg(Math.atan(t/s));}if(angle < 0.0) angle += 360.0;return angle;}//get dimentions of the pageif(document.all) pageWidth = document.body.offsetWidth-20;else pageWidth = innerWidth;if(document.all) pageHeight = document.body.offsetHeight-4;else pageHeight = innerHeight;//Create main menuvar menu = new menuObject("menu",pageWidth/2,pageHeight/2,"DhtmlCentral Site Map",pageHeight/2);menu.startAngle = -90;//show menu and captionmenu.show();menu.showCaption();//Add submenusmenu.addItem("news","window.open('/news')");menu.addItem("scripts","toggle");menu.addItem("tutorials","toggle");menu.addItem("forums","toggle");menu.addItem("resources","toggle");menu.subMenus[1].addItem("FoldOutMenu","window.open('/script/script22.asp')");menu.subMenus[1].addItem("Loading Bar","window.open('/script/script17.asp')");menu.subMenus[1].addItem("Window Script","window.open('/script/script16.asp')");menu.subMenus[1].addItem("PageSlideFade","window.open('/script/script15.asp')");menu.subMenus[1].addItem("Circle Menu","window.open('/script/script14.asp')");menu.subMenus[1].addItem("Annimation Intro","window.open('/script/script9.asp')");menu.subMenus[1].addItem("NewsSlideFade","window.open('/script/script10.asp')");menu.subMenus[1].addItem("Other Scripts","window.open('/script/')");menu.subMenus[2].addItem("Scripting for vs5 browsers","window.open('/tutorials/tutorial5.asp')");menu.subMenus[2].addItem("Makeing a Dhtml Script","window.open('/tutorials/tutorial6.asp')");menu.subMenus[2].addItem("Filters & Transitions","window.open('/tutorials/tutorial4.asp')");menu.subMenus[2].addItem("Dhtml Library","window.open('/tutorials/tutorial3.asp')");menu.subMenus[2].addItem("Document Size","window.open('/tutorials/tutorial2.asp')");menu.subMenus[2].addItem("Dhtml Intro","window.open('/tutorials/tutorial1.asp')");menu.subMenus[3].addItem("Forum listings","window.open('/forums')");menu.subMenus[3].addItem("Cool Sites","window.open('/forums/forum.asp?FORUM_ID=1&CAT_ID=1&Forum_Title=Cool+sites')");menu.subMenus[3].addItem("CoolMenus","window.open('/forums/forum.asp?FORUM_ID=2&CAT_ID=1&Forum_Title=CoolMenus')");menu.subMenus[3].addItem("Cross Browser","window.open('/forums/forum.asp?FORUM_ID=3&CAT_ID=1&Forum_Title=Crossbrowser+DHTML')");menu.subMenus[3].addItem("Scripts","window.open('/forums/forum.asp?FORUM_ID=4&CAT_ID=1&Forum_Title=DHTML+Scripts')");menu.subMenus[3].addItem("General","window.open('/forums/forum.asp?FORUM_ID=6&CAT_ID=1&Forum_Title=General+DHTML+issues')");menu.subMenus[3].addItem("Off-Topic","window.open('/forums/forum.asp?FORUM_ID=9&CAT_ID=1&Forum_Title=Off%2Dtopic')");c = menu.subMenus[4].addItem("Cool Sites","toggle");c.startAngle = 15;menu.subMenus[4].addItem("Portals","window.open('/resources/default.asp?catid=7&cattitle=Portals')");menu.subMenus[4].addItem("Script Sites","window.open('/resources/default.asp?catid=1&cattitle=Script+sites')");menu.subMenus[4].addItem("Tutorials &<br>References","toggle");menu.subMenus[4].subMenus[0].addItem("Comercial Sites","window.open('/resources/default.asp?catid=5&cattitle=Commercial+sites')");menu.subMenus[4].subMenus[0].addItem("Personal Sites","window.open('/resources/default.asp?catid=6&cattitle=Personal+sites')");menu.subMenus[4].subMenus[0].addItem("Experimental Projects","window.open('/resources/default.asp?catid=4&cattitle=Experimental+projects')");menu.subMenus[4].subMenus[3].addItem("References","window.open('/resources/default.asp?catid=8&cattitle=References')");menu.subMenus[4].subMenus[3].addItem("Tutorials & Articles","window.open('/resources/default.asp?catid=9&cattitle=Tutorials+and+Articles')");//--></script></body></html> 呵呵。我在外层给他加个主div。然后每次展开结点的时候判断他的位置是不是负值,如果是的话。就把外面的div移动相应的像素。一切ok。哈哈 嗯~~ 控制最外层的div大小来改变这个body的大小么? 想法不错,呵呵!~ 看来我是把简单的问题复杂化了...... ExtJs中GRID怎么跨行跨列。。。求DEMO 全局变量?为什么? iframe中锚点定位问题 jquert打印指定div 内容动态生成 JQuery控制树结构样式的问题? 有个功能不知道该如何实现,求助~~~~~~~~ 求救:js读取css中的内容 用JAVASCRIPT如何把在B页面中的记录赋值到A页面中的TEXTFIELD中? 我想做一个类似软件的帮助文档的网页页面,做成左边是工具菜单,像文件夹那种,可以点击链接,右边是对应各项的那种,请问如何实现? 这个预定义的右键菜单怎么处理?在线等,急!! Jquery中load()中载入静态页面时出现乱码 单击2个按钮没反应
可以看看这个链接。就是要是节点在多点的话。节点就会跑到浏览器外面。但是浏览器滚动条不会自动加好导致节点不可见。就是这么个问题。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>网页特效---五星展开菜单显示效果</title>
</head>
<body>
<style type="text/css">
.dot { position: absolute; width: 6; height: 6; visibility: hidden; background-color: red; font-size: 1px; cursor: pointer; cursor: hand; z-index: 100 }
.dotoff { position: absolute; width: 6; height: 6; visibility: hidden; background-color: gray; font-size: 1px; cursor:default; z-index: 100}
.dotempty { position: absolute; width: 6; height: 6; visibility: hidden; background-color: orange; font-size: 1px; cursor: pointer; cursor: hand; zindex: 100 }
.caption { position: absolute; visibility: hidden; font-family: Tahoma; color: black;
font-size: 11px; text-align: Center; cursor: default; z-index:
1 }
body { margin: 0px; background-color: white; }
a { color: silver; text-decoration: none }
p { font-size: 10px; font-family: tahoma; color: black }
</style>
<script language="JavaScript" type="text/javascript">
function lib_bwcheck(){ //Browsercheck (needed)
this.ver=navigator.appVersion
this.agent=navigator.userAgent
this.dom=document.getElementById?1:0
this.opera5=this.agent.indexOf("Opera 5")>-1
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
this.ie=this.ie4||this.ie5||this.ie6
this.mac=this.agent.indexOf("Mac")>-1
this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
return this
}
var bw=new lib_bwcheck()
// The code of this script is in the body, the browsercheck above is not used.
</script>
<script language="javascript1.2" type="text/javascript">
<!--
// DotMenu
// provides cross-browser functionality
//======================================
function getObjectRef(name) {
if(document.getElementById) return document.getElementById(name);
else if(document.all) return document.all[name];
else return null;
}
// general functions to assist the script
//========================================
function show(name) {
var el = getObjectRef(name);
if(el) el.style.visibility = "visible";
}
function hide(name) {
var el = getObjectRef(name);
if(el) el.style.visibility = "hidden";
}
function getWidth(name) {
var el = getObjectRef(name);
return el.offsetWidth;
}
function getHeight(name) {
var el = getObjectRef(name);
return el.offsetHeight;
}
function moveMe(name,x,y) {
var el = getObjectRef(name);
if(el) { el.style.top = parseInt(y); el.style.left = parseInt(x); }
}
function moveBy(name,x,y) {
var el = getObjectRef(name);
if(el) { el.style.top = parseInt(el.style.top) + parseInt(y); el.style.left = parseInt(el.style.left) + parseInt(x); }
}
// Creates the menu objects
//==========================
var menuCount = 0;
function menuObject(name,x,y,caption, r, parent) {
if ( (!document.getElementById&&!document.all) || navigator.userAgent.indexOf("Opera")>-1) return;
document.write('<div id="divDot' + menuCount + '" class="dotempty" style="top: ' + y + '; left: ' + x + '"></div>');
document.write('<div id="divCap' + menuCount + '" class="caption" style="top: 0; left: 0">' + caption + '</div>');
this.name = name;
this.parent = parent
this.ref = "divDot" + menuCount;
this.caption = "divCap" + menuCount
if(r) this.radius = r;
else this.radius = 400;
this.subMenus = new Array();
this.state = 0;
this.moving = false;
if(this.parent) this.action = "null";
else this.action = "toggle";
if(this.parent) this.startAngle = parent.startAngle;
else this.startAngle = 0;
getObjectRef(this.ref).objRef = this.name;
this.show = function() { show(this.ref); }
this.hide = function() { hide(this.ref); }
this.moveMe = function(x,y) { if(this.parent) { x += this.parent.x(); y += this.parent.y(); } moveMe(this.ref,x,y); }
this.moveBy = function(x,y) { moveBy(this.ref,x,y); }
this.x = function() { return parseInt(getObjectRef(this.ref).style.left); }
this.y = function() { return parseInt(getObjectRef(this.ref).style.top); }
this.w = function() { return getWidth(this.ref); }
this.h = function() { return getHeight(this.ref); }
this.showCaption = function() {
moveMe(this.caption, this.x() - (getWidth(this.caption)/2) + (this.w()/2), (this.y() + this.h()));
show(this.caption);
}
this.hideCaption = function() {
hide(this.caption);
}
this.setCaption = function(c) { getObjectRef(this.caption).innerHTML = c;}
this.addItem = function(c,action,r) {
getObjectRef(this.ref).className = "dot";
if(!r) r = this.radius/2;
var sub = new menuObject(this.name + ".subMenus[" + this.subMenus.length + "]",0,0,c,r,this);
sub.parent = this;
sub.action = action;
sub.moveMe(0,0);
this.subMenus[this.subMenus.length] = sub;
return sub;
}
this.expand = function() {
if(this.subMenus.length > 0) {
var p = true;
if(this.parent) {
p = !this.parent.moving;
for(var i=0; i<this.parent.subMenus.length;i++)
p = p && ((this.parent.subMenus[i].state==0) || (this.parent.subMenus[i].state==this.parent.subMenus[i].subMenus.length)) && (this.parent.subMenus[i].moving==false);
} else var o = false;
if((!this.parent || this.parent.state == this.parent.subMenus.length) && p) {
if(this.parent) this.collapseAll(this.name);
var diff = 360 / this.subMenus.length;
for(var i=0;i<this.subMenus.length;i++){
this.subMenus[i].moveMe(0,0);
this.subMenus[i].show();
this.moving = true;
this.subMenus[i].slide(this.subMenus[i].radius * cos(degToRad((diff*i)+this.startAngle)), this.subMenus[i].radius * sin(degToRad((diff*i)+this.startAngle)), this.name + ".subMenus[" + i + "].showCaption();" + this.name + ".moving=false;" + this.name + ".state+=1;");
}
if(this.parent){
getObjectRef(this.parent.ref).style.filter = "alpha (opacity=33)";
getObjectRef(this.parent.ref).style.MozOpacity = "33%";
getObjectRef(this.parent.ref).className = "dotoff";
getObjectRef(this.parent.caption).style.filter = "alpha (opacity=33)";
getObjectRef(this.parent.caption).style.MozOpacity = "33%";
for(i=0;i<this.parent.subMenus.length;i++) {
getObjectRef(this.parent.subMenus[i].ref).style.filter = "alpha (opacity=66)";
getObjectRef(this.parent.subMenus[i].ref).style.MozOpacity = "66%";
getObjectRef(this.parent.subMenus[i].caption).style.filter = "alpha (opacity=66)";
getObjectRef(this.parent.subMenus[i].caption).style.MozOpacity = "66%";
}
if(this.parent.parent) {
for(i=0;i<this.parent.parent.subMenus.length;i++) {
getObjectRef(this.parent.parent.subMenus[i].ref).style.filter = "alpha (opacity=33)";
getObjectRef(this.parent.parent.subMenus[i].ref).style.MozOpacity = "33%";
getObjectRef(this.parent.parent.subMenus[i].ref).className = "dotoff";
getObjectRef(this.parent.parent.subMenus[i].caption).style.filter = "alpha (opacity=33)";
getObjectRef(this.parent.parent.subMenus[i].caption).style.MozOpacity = "33%";
}
getObjectRef(this.parent.parent.ref).style.MozOpacity = "33%";
getObjectRef(this.parent.parent.ref).style.MozOpacity = "33%";
getObjectRef(this.parent.parent.ref).className = "dotoff";
}
}
getObjectRef(this.ref).style.filter = "alpha (opacity=66)";
getObjectRef(this.caption).style.filter = "alpha (opacity=66)";
getObjectRef(this.ref).style.MozOpacity = "66%";
getObjectRef(this.caption).style.MozOpacity = "66%";
}
}
}
this.collapse = function() {
var p = true;
p = !this.moving;
for(var i=0; i<this.subMenus.length;i++)
p = p && (this.subMenus[i].state==0) && (this.subMenus[i].moving==false);
if(p && this.subMenus.length > 0) {
for(var i=0;i<this.subMenus.length;i++){
this.subMenus[i].hideCaption();
this.moving = true;
this.subMenus[i].slide(0, 0, this.name + ".subMenus[" + i + "].hide();" + this.name + ".moving=false;" + this.name + ".state-=1;");
}
if(this.parent){
getObjectRef(this.parent.ref).style.filter = "alpha (opacity=66)";
getObjectRef(this.parent.ref).style.MozOpacity = "66%";
if(this.parent.subMenus.length != 0)
getObjectRef(this.parent.ref).className = "dot";
else
getObjectRef(this.parent.ref).className = "dotempty";
getObjectRef(this.parent.caption).style.filter = "alpha (opacity=66)";
getObjectRef(this.parent.caption).style.MozOpacity = "66%";
for(i=0;i<this.parent.subMenus.length;i++) {
getObjectRef(this.parent.subMenus[i].ref).style.filter = "alpha (opacity=100)";
getObjectRef(this.parent.subMenus[i].ref).style.MozOpacity = "100%";
if(this.parent.subMenus[i].subMenus.length != 0)
getObjectRef(this.parent.subMenus[i].ref).className = "dot";
else
getObjectRef(this.parent.subMenus[i].ref).className = "dotempty";
getObjectRef(this.parent.subMenus[i].caption).style.filter = "alpha (opacity=100)";
getObjectRef(this.parent.subMenus[i].caption).style.MozOpacity = "100%";
}
if(this.parent.parent) {
for(i=0;i<this.parent.parent.subMenus.length;i++) {
getObjectRef(this.parent.parent.subMenus[i].ref).style.filter = "alpha (opacity=66)";
getObjectRef(this.parent.parent.subMenus[i].ref).style.MozOpacity = "66%";
if(this.parent.parent.subMenus[i].subMenus.length != 0)
getObjectRef(this.parent.parent.subMenus[i].ref).className = "dot";
else
getObjectRef(this.parent.parent.subMenus[i].ref).className = "dotempty";
getObjectRef(this.parent.parent.subMenus[i].caption).style.filter = "alpha (opacity=66)";
getObjectRef(this.parent.parent.subMenus[i].caption).style.MozOpacity = "66%";
}
}
}
getObjectRef(this.ref).style.filter = "alpha (opacity=100)";
getObjectRef(this.caption).style.filter = "alpha (opacity=100)";
getObjectRef(this.ref).style.MozOpacity = "100%";
getObjectRef(this.caption).style.MozOpacity = "100%";
}
}
this.collapseAll = function(except) {
for(var i=0;i<this.parent.subMenus.length;i++) {
if(this.parent.subMenus[i].name!=except && this.parent.subMenus[i].state==this.parent.subMenus[i].subMenus.length) {
this.parent.subMenus[i].collapse();
}
}
}
this.toggle = function(e) {
if(document.all) id = window.event.srcElement;
else id = e.target;
var dot = eval(id.objRef);
if(dot.state==0 && !dot.moving) dot.expand();
else if(dot.state==dot.subMenus.length && !dot.moving) dot.collapse()
}
this.doAction = function(e) {
if(document.all) id = window.event.srcElement;
else id = e.target;
var dot = eval(id.objRef);
if(dot.action == "toggle") dot.toggle(e);
else eval(dot.action);
}
//change these if you want to change the events that trigger the actions
//========================================================================
//getObjectRef(this.ref).onmousemove = this.toggle;
getObjectRef(this.ref).onmouseup = this.doAction;
this.slide = function(xx,yy,func) {
if(!func) func = "";
var px = this.parent.x();
var py = this.parent.y();
var x = xx - this.x() + px;
var y = yy - this.y() + py;
var d = sqrt(square(xx-this.x() + px) + square(yy-this.y() + py));
var v = d/8;
if(v<1) v = 1;
if( (Math.abs(x) < v) && (Math.abs(y) < v) ) {
moveMe(this.ref,xx + px,yy + py);
if(func != "") eval(func);
} else {
var a = round(atan(x,y));
dx = round(v * cos(degToRad(a)));
dy = round(v * sin(degToRad(a)));
this.moveBy(dx,dy);
setTimeout(this.name + ".slide(" + xx + "," + yy + ", '" + func + "');",10);
}
}
// Preoading the windows filters.
if (menuCount==0 && document.all) document.all[this.ref].style.filter = "alpha (opacity=100)";
menuCount++;
return this;
}
// Math functions
//================
var pi = Math.PI;
function square(x) { return (x*x); }
function sqrt(x) { return Math.sqrt(x); }
function round(x) { return Math.round(x); }
function rand(x,y) { return (round(Math.random()*(y-x)) + x); }
function cos(x) { return Math.cos(x) }
function sin(x) { return Math.sin(x) }
function degToRad(x) { return ( x/(360/(2*pi)) ); }
function radToDeg(x) { return ( x*(360/(2*pi)) ); }
function atan(s,t) {
if( s == 0.0 && t > 0.0)
angle = 90.0;
else if(s == 0.0 && t < 0.0)
angle = 270.0;
else if (s < 0.0 )
angle = 180.0 + radToDeg(Math.atan(t/s));
else if (s > 0.0 && t < 0.0)
angle = 360.0 + radToDeg(Math.atan(t/s));
else {
if(s==0.0) s=0.00001;
angle = radToDeg(Math.atan(t/s));
}
if(angle < 0.0) angle += 360.0;
return angle;
}
//get dimentions of the page
if(document.all) pageWidth = document.body.offsetWidth-20;
else pageWidth = innerWidth;
if(document.all) pageHeight = document.body.offsetHeight-4;
else pageHeight = innerHeight;
//Create main menu
var menu = new menuObject("menu",pageWidth/2,pageHeight/2,"DhtmlCentral Site Map",pageHeight/2);
menu.startAngle = -90;
//show menu and caption
menu.show();
menu.showCaption();
//Add submenus
menu.addItem("news","window.open('/news')");
menu.addItem("scripts","toggle");
menu.addItem("tutorials","toggle");
menu.addItem("forums","toggle");
menu.addItem("resources","toggle");
menu.subMenus[1].addItem("FoldOutMenu","window.open('/script/script22.asp')");
menu.subMenus[1].addItem("Loading Bar","window.open('/script/script17.asp')");
menu.subMenus[1].addItem("Window Script","window.open('/script/script16.asp')");
menu.subMenus[1].addItem("PageSlideFade","window.open('/script/script15.asp')");
menu.subMenus[1].addItem("Circle Menu","window.open('/script/script14.asp')");
menu.subMenus[1].addItem("Annimation Intro","window.open('/script/script9.asp')");
menu.subMenus[1].addItem("NewsSlideFade","window.open('/script/script10.asp')");
menu.subMenus[1].addItem("Other Scripts","window.open('/script/')");
menu.subMenus[2].addItem("Scripting for vs5 browsers","window.open('/tutorials/tutorial5.asp')");
menu.subMenus[2].addItem("Makeing a Dhtml Script","window.open('/tutorials/tutorial6.asp')");
menu.subMenus[2].addItem("Filters & Transitions","window.open('/tutorials/tutorial4.asp')");
menu.subMenus[2].addItem("Dhtml Library","window.open('/tutorials/tutorial3.asp')");
menu.subMenus[2].addItem("Document Size","window.open('/tutorials/tutorial2.asp')");
menu.subMenus[2].addItem("Dhtml Intro","window.open('/tutorials/tutorial1.asp')");
menu.subMenus[3].addItem("Forum listings","window.open('/forums')");
menu.subMenus[3].addItem("Cool Sites","window.open('/forums/forum.asp?FORUM_ID=1&CAT_ID=1&Forum_Title=Cool+sites')");
menu.subMenus[3].addItem("CoolMenus","window.open('/forums/forum.asp?FORUM_ID=2&CAT_ID=1&Forum_Title=CoolMenus')");
menu.subMenus[3].addItem("Cross Browser","window.open('/forums/forum.asp?FORUM_ID=3&CAT_ID=1&Forum_Title=Crossbrowser+DHTML')");
menu.subMenus[3].addItem("Scripts","window.open('/forums/forum.asp?FORUM_ID=4&CAT_ID=1&Forum_Title=DHTML+Scripts')");
menu.subMenus[3].addItem("General","window.open('/forums/forum.asp?FORUM_ID=6&CAT_ID=1&Forum_Title=General+DHTML+issues')");
menu.subMenus[3].addItem("Off-Topic","window.open('/forums/forum.asp?FORUM_ID=9&CAT_ID=1&Forum_Title=Off%2Dtopic')");
c = menu.subMenus[4].addItem("Cool Sites","toggle");
c.startAngle = 15;
menu.subMenus[4].addItem("Portals","window.open('/resources/default.asp?catid=7&cattitle=Portals')");
menu.subMenus[4].addItem("Script Sites","window.open('/resources/default.asp?catid=1&cattitle=Script+sites')");
menu.subMenus[4].addItem("Tutorials &<br>References","toggle");
menu.subMenus[4].subMenus[0].addItem("Comercial Sites","window.open('/resources/default.asp?catid=5&cattitle=Commercial+sites')");
menu.subMenus[4].subMenus[0].addItem("Personal Sites","window.open('/resources/default.asp?catid=6&cattitle=Personal+sites')");
menu.subMenus[4].subMenus[0].addItem("Experimental Projects","window.open('/resources/default.asp?catid=4&cattitle=Experimental+projects')");
menu.subMenus[4].subMenus[3].addItem("References","window.open('/resources/default.asp?catid=8&cattitle=References')");
menu.subMenus[4].subMenus[3].addItem("Tutorials & Articles","window.open('/resources/default.asp?catid=9&cattitle=Tutorials+and+Articles')");
//--></script>
</body>
</html>