Привет всем! выручайте завтра экзамен надо сделать сайт с использованием JAVA. Как бы html знаю а вот java (( Скачал типо примера но в нем не хрена не могу понять что и где а как ни как надо будет преподу рассказывать что и как. Плиз помогите разобрать код....... <html> <head> <title>ЫЫЫЫЫЫЫЫ</title> <META http-equiv="Content-Type" content="text/html; charset=windows-1251"> <META NAME="keywords" CONTENT="perl scripts, perl, cgi scripts, cgi, перл, java, java scripts, веб-программирование, web-programming, html, каталог ссылок, документация по веб-программированию, cgi скрипты, java скрипты, игры, java апплеты, апплеты, гифы, скрипты, скрипт, книги по веб-программированию, форум по perl, CGI, Perl, script, HTML"> <!-- HEAD START HERE --> <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"> /********************************************************************************** DotMenu * Copyright (C) 2001 Dan Pupius * This script was released at aceweb.ru * Visit for more great scripts! * This may be used and changed freely as long as this msg is intact! * We will also appreciate any links you could give us. *********************************************************************************/ 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> <!-- HEAD END HERE --> </head> <body bgcolor="#737994" text="#FFFFFF" link="#FFFFFF" topmargin="0" leftmargin="0"> <!-- BODY START HERE --> <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.state==0) || (this.parent.subMenus.state==this.parent.subMenus.subMenus.length)) && (this.parent.subMenus.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.moveMe(0,0); this.subMenus.show(); this.moving = true; this.subMenus.slide(this.subMenus.radius * cos(degToRad((diff*i)+this.startAngle)), this.subMenus.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.ref).style.filter = "alpha (opacity=66)"; getObjectRef(this.parent.subMenus.ref).style.MozOpacity = "66%"; getObjectRef(this.parent.subMenus.caption).style.filter = "alpha (opacity=66)"; getObjectRef(this.parent.subMenus.caption).style.MozOpacity = "66%"; } if(this.parent.parent) { for(i=0;i<this.parent.parent.subMenus.length;i++) { getObjectRef(this.parent.parent.subMenus.ref).style.filter = "alpha (opacity=33)"; getObjectRef(this.parent.parent.subMenus.ref).style.MozOpacity = "33%"; getObjectRef(this.parent.parent.subMenus.ref).className = "dotoff"; getObjectRef(this.parent.parent.subMenus.caption).style.filter = "alpha (opacity=33)"; getObjectRef(this.parent.parent.subMenus.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.state==0) && (this.subMenus.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; } //==================================================================================== // make the menus and provide information on usage //==================================================================================== // // In order to customise your menus all you need to do is: // - edit the styles .dot, .dotoff and .caption // - add the main menu using the following code // var [menu_name] = new menuObject("[menu_name]", [x position], [y position], [caption], [spacing between sub menus]); // - add the subemus using: // var [sub_menu] = [menu_name].addItem([caption],[action],[spacing]); // OR // var [sub-sub_menu] = [sub_menu].addItem([caption],[action],[spacing]); // OR // [menu_name].subMenus[x].addItem([caption],[action],[spacing]); // // - where action is string that get's evaluated when the dot is clicked // // (NOTE the spacing is optional and if left blank gets inherited // and is equal to the (parent's value)/2 - the default for // the main menu item uis 400) // // - the following allow extra manipulation of the menus: // + menuItem.show() - show's the menu's dot // + menuItem.showCaption() - show's the menu's caption // + menuItem.hide() // + menuItem.hideCaption() // + menuItem.startAngle = x - default is 0-degrees which means the first submenu appears // directly to the right, the following items are traced in a // clockwise direction // + menuItem.setCaption("text") - allows you to change a menus caption // + menuItem.expand() - opens a menus submenus (if they exist) // + menuItem.collapse() - closes a menu's subItems (unless one of them is open) // // + menuItem.moveMe(x,y) - moves a menu to coordinates (x,y) // + menuItem.moveBy(x,y) - moves a menu by (x,y)-pixels // + menuItem.x() & menuItem.y() - retrieve a menus coordinates // //==================================================================================== //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,"Тупо тыкни на квадрат",pageHeight/2); menu.startAngle = -90; //show menu and caption menu.show(); menu.showCaption(); //Add submenus menu.addItem("новости","window.open('/news')"); menu.addItem("товар","toggle"); menu.addItem("о нас","toggle"); menu.addItem("форум","toggle"); menu.addItem("скачать","toggle"); menu.subMenus[1].addItem("Акустика","window.open('/script/script22.asp')"); menu.subMenus[1].addItem("Мониторы","window.open('/script/script17.asp')"); menu.subMenus[1].addItem("Память","window.open('/script/script16.asp')"); menu.subMenus[1].addItem("Видео карты","window.open('/script/script15.asp')"); menu.subMenus[1].addItem("ноутбуки","window.open('/script/script14.asp')"); menu.subMenus[1].addItem("принтеры","window.open('/script/script9.asp')"); menu.subMenus[1].addItem("Мышки","window.open('/script/script10.asp')"); menu.subMenus[1].addItem("Корпуса","window.open('/script/')"); menu.subMenus[2].addItem("Адрес","window.open('/tutorials/tutorial5.asp')"); menu.subMenus[2].addItem("Лобуда","window.open('/tutorials/tutorial6.asp')"); menu.subMenus[2].addItem("Типо бла бла бла","window.open('/tutorials/tutorial4.asp')"); menu.subMenus[2].addItem("еще раз бла","window.open('/tutorials/tutorial3.asp')"); menu.subMenus[2].addItem("тупо ыыыы","window.open('/tutorials/tutorial2.asp')"); menu.subMenus[2].addItem("эхе-хей","window.open('/tutorials/tutorial1.asp')"); menu.subMenus[3].addItem("Главная","window.open('/forums')"); menu.subMenus[3].addItem("Популярное","window.open('/forums/forum.asp?FORUM_ID=1&CAT_ID=1&Forum_Title=Cool+sites')"); menu.subMenus[3].addItem("ыыыыы","window.open('/forums/forum.asp?FORUM_ID=2&CAT_ID=1&Forum_Title=CoolMenus')"); menu.subMenus[3].addItem("эээээ","window.open('/forums/forum.asp?FORUM_ID=3&CAT_ID=1&Forum_Title=Crossbrowser+DHTML')"); menu.subMenus[3].addItem("товар","window.open('/forums/forum.asp?FORUM_ID=4&CAT_ID=1&Forum_Title=DHTML+Scripts')"); menu.subMenus[3].addItem("х.з что писать","window.open('/forums/forum.asp?FORUM_ID=6&CAT_ID=1&Forum_Title=General+DHTML+issues')"); menu.subMenus[3].addItem("тупо флуд","window.open('/forums/forum.asp?FORUM_ID=9&CAT_ID=1&Forum_Title=Off%2Dtopic')"); c = menu.subMenus[4].addItem("Картинки","toggle"); c.startAngle = 15; menu.subMenus[4].addItem("музыка","window.open('/resources/default.asp?catid=7&cattitle=Portals')"); menu.subMenus[4].addItem("прайс","window.open('/resources/default.asp?catid=1&cattitle=Script+sites')"); menu.subMenus[4].addItem("кино","toggle"); menu.subMenus[4].subMenus[0].addItem("Природа","window.open('/resources/default.asp?catid=5&cattitle=Commercial+sites')"); menu.subMenus[4].subMenus[0].addItem("Машины","window.open('/resources/default.asp?catid=6&cattitle=Personal+sites')"); menu.subMenus[4].subMenus[0].addItem("Аниме","window.open('/resources/default.asp?catid=4&cattitle=Experimental+projects')"); menu.subMenus[4].subMenus[3].addItem("Комедии","window.open('/resources/default.asp?catid=8&cattitle=References')"); menu.subMenus[4].subMenus[3].addItem("Ужасы","window.open('/resources/default.asp?catid=9&cattitle=Tutorials+and+Articles')"); //--></script> <!-- BODY END HERE --> </body> </html>[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
Ну,во-первых, не java,а javascript. А во-вторых,как сказал GreenBear - тебе столько кода вряд-ли возьмется ктонить комментировать...да и в чужом коде оч сложно копаться)
Вообще, закинь свой скрипт подальше. Ты врятли сможешь обьяснить преподавателю как строить динамическое красивое меню на JavaScript'е Вот, написал тебе пример на JavaScript'е, который определяет браузер, и текущее время. Погугли, найдёшь как определять ОС и т.п Этого думаю вполне достаточно HTML: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>.: :.</title> <script type='text/javascript'> function BrowserName() { var span = document.getElementById('browser'); if(window.opera) { span.innerHTML = 'Opera'; return true; } if(document.all) { span.innerHTML = 'IE'; return true; } if(document.layers) { span.innerHTML = 'NN4'; return true; } if(window.XMLHttpRequest) { span.innerHTML = 'Mozilla (FireFox)'; return true; } span.innerHTML = 'неизвестный браузер'; return true; } function OsDet() { var osdetect = document.getElementById('osdetect'); osdetect.innerHTML = navigator.userAgent; } function CurrDate() { var currdate = document.getElementById('currdate'); current_date = new Date(); currdate.innerHTML = current_date; } </script> </head> <body onload='BrowserName(); OsDet(); CurrDate();'> <p>Ваш браузер: <span id='browser' style='color: red'></span><br /> Заголовки браузера: <span id='osdetect' style='color: red'></span></p> <p>Текущая дата: <span id='currdate' style='color: red'></span><br /></p> </body> </html> Код погуглил и скомпоновал в одно. Маленькие изменения добавил
Экзамены 23 сентября?) В любом случае, код из разряда мега-функций getProperty, может, чуть лучше: Code: function getProperty(object, str) { return eval('object.' + str); }; За один день всё равно не научишься. хммм...