Zoque.Forum
»
ortalanmis table içinde slide menü scripti (img'da over olunca)
|
| ://www Web tasarımı ve internet ile ilgili olarak karşılaştığınız problemleri ve merak ettiklerinizi burada tartışabilirsiniz. |
![]() |
|
|
LinkBack | Seçenekler |
|
|
#1 (permalink) |
|
Üyelik Tarihi: 02.11.2001
Yer: Viyana, İstanbul
Yaş: 30
Mesaj: 1,019
|
ortalanmis table içinde slide menü scripti (img'da over olunca)
ypSlideOutMenusC.js dosyasi
/************************************************** *** * ypSlideOutMenu * 3/04/2001 * * a nice little script to create exclusive, slide-out * menus for ns4, ns6, mozilla, opera, ie4, ie5 on * Mac and win32. I've got no linux or unix to test on but * it should(?) work... * * Revised: * - 08/29/2002 : added .hideAll() * - 04/15/2004 : added .writeCSS() to support more * than 30 menus. * * --youngpup-- ************************************************** ***/ ypSlideOutMenu.Registry = [] ypSlideOutMenu.aniLen = 250 ypSlideOutMenu.hideDelay = 1000 ypSlideOutMenu.minCPUResolution = 10 // constructor function ypSlideOutMenu(id, dir, left, top, width, height) { this.ie = document.all ? 1 : 0 this.ns4 = document.layers ? 1 : 0 this.dom = document.getElementById ? 1 : 0 if (this.ie || this.ns4 || this.dom) { this.id = id this.dir = dir this.orientation = dir == "left" || dir == "right" ? "h" : "v" this.dirType = dir == "right" || dir == "down" ? "-" : "+" this.dim = this.orientation == "h" ? width : height this.hideTimer = false this.aniTimer = false this.open = false this.over = false this.startTime = 0 this.gRef = "ypSlideOutMenu_"+id eval(this.gRef+"=this") ypSlideOutMenu.Registry[id] = this var d = document var strCSS = ""; strCSS += '#' + this.id + 'Container { visibility:hidden; ' strCSS += 'left:' + left + 'px; ' strCSS += 'top:' + top + 'px; ' strCSS += 'overflow:hidden; z-index:10000; }' strCSS += '#' + this.id + 'Container, #' + this.id + 'Content { position:absolute; ' strCSS += 'width:' + width + 'px; ' strCSS += 'height:' + height + 'px; ' strCSS += 'clip:rect(0 ' + width + ' ' + height + ' 0); ' strCSS += '}' this.CSS = strCSS; this.load() } } ypSlideOutMenu.writeCSS = function() { document.writeln('<style type="text/CSS">'); for (var id in ypSlideOutMenu.Registry) { document.writeln(ypSlideOutMenu.Registry[id].CSS); } document.writeln('</style>'); } ypSlideOutMenu.prototype.load = function() { var d = document var lyrId1 = this.id + "Container" var lyrId2 = this.id + "Content" var obj1 = this.dom ? d.getElementById(lyrId1) : this.ie ? d.all[lyrId1] : d.layers[lyrId1] if (obj1) var obj2 = this.ns4 ? obj1.layers[lyrId2] : this.ie ? d.all[lyrId2] : d.getElementById(lyrId2) var temp if (!obj1 || !obj2) window.setTimeout(this.gRef + ".load()", 100) else { this.container = obj1 this.menu = obj2 this.style = this.ns4 ? this.menu : this.menu.style this.homePos = eval("0" + this.dirType + this.dim) this.outPos = 0 this.accelConst = (this.outPos - this.homePos) / ypSlideOutMenu.aniLen / ypSlideOutMenu.aniLen // set event handlers. if (this.ns4) this.menu.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT); this.menu.onmouseover = new Function("ypSlideOutMenu.showMenu('" + this.id + "')") this.menu.onmouseout = new Function("ypSlideOutMenu.hideMenu('" + this.id + "')") //set initial state this.endSlide() } } ypSlideOutMenu.showMenu = function(id) { var reg = ypSlideOutMenu.Registry var obj = ypSlideOutMenu.Registry[id] if (obj.container) { obj.over = true for (menu in reg) if (id != menu) ypSlideOutMenu.hide(menu) if (obj.hideTimer) { reg[id].hideTimer = window.clearTimeout(reg[id].hideTimer) } if (!obj.open && !obj.aniTimer) reg[id].startSlide(true) } } ypSlideOutMenu.hideMenu = function(id) { var obj = ypSlideOutMenu.Registry[id] if (obj.container) { if (obj.hideTimer) window.clearTimeout(obj.hideTimer) obj.hideTimer = window.setTimeout("ypSlideOutMenu.hide('" + id + "')", ypSlideOutMenu.hideDelay); } } ypSlideOutMenu.hideAll = function() { var reg = ypSlideOutMenu.Registry for (menu in reg) { ypSlideOutMenu.hide(menu); if (menu.hideTimer) window.clearTimeout(menu.hideTimer); } } ypSlideOutMenu.hide = function(id) { var obj = ypSlideOutMenu.Registry[id] obj.over = false if (obj.hideTimer) window.clearTimeout(obj.hideTimer) obj.hideTimer = 0 if (obj.open && !obj.aniTimer) obj.startSlide(false) } ypSlideOutMenu.prototype.startSlide = function(open) { this[open ? "onactivate" : "ondeactivate"]() this.open = open if (open) this.setVisibility(true) this.startTime = (new Date()).getTime() this.aniTimer = window.setInterval(this.gRef + ".slide()", ypSlideOutMenu.minCPUResolution) } ypSlideOutMenu.prototype.slide = function() { var elapsed = (new Date()).getTime() - this.startTime if (elapsed > ypSlideOutMenu.aniLen) this.endSlide() else { var d = Math.round(Math.pow(ypSlideOutMenu.aniLen-elapsed, 2) * this.accelConst) if (this.open && this.dirType == "-") d = -d else if (this.open && this.dirType == "+") d = -d else if (!this.open && this.dirType == "-") d = -this.dim + d else d = this.dim + d this.moveTo(d) } } ypSlideOutMenu.prototype.endSlide = function() { this.aniTimer = window.clearTimeout(this.aniTimer) this.moveTo(this.open ? this.outPos : this.homePos) if (!this.open) this.setVisibility(false) if ((this.open && !this.over) || (!this.open && this.over)) { this.startSlide(this.over) } } ypSlideOutMenu.prototype.setVisibility = function(bShow) { var s = this.ns4 ? this.container : this.container.style s.visibility = bShow ? "visible" : "hidden" } ypSlideOutMenu.prototype.moveTo = function(p) { this.style[this.orientation == "h" ? "left" : "top"] = this.ns4 ? p : p + "px" } ypSlideOutMenu.prototype.getPos = function(c) { return parseInt(this.style[c]) } ypSlideOutMenu.prototype.onactivate = function() { } ypSlideOutMenu.prototype.ondeactivate = function() { } _________________________________________________ kullanılacak sayfadaki <head> kısmı ***************************************** <HEAD> <script language=JavaScript src="ypSlideOutMenusC.js"></script> <script language=JavaScript> // the number you pass to initLeft doesn't matter since it will get // changed onactivate var myMenu1 = new ypSlideOutMenu("menu1", "down", -1000, 25, 100, 200) var myMenu2 = new ypSlideOutMenu("menu2", "down", -1000, 25, 180, 200) var myMenu3 = new ypSlideOutMenu("menu3", "down", -1000, 25, 180, 200) // for each menu, we set up hte onactivate event to call repositionMenu with the amount offset from center, in pixels myMenu1.onactivate = function() { repositionMenu(myMenu1, -200); } myMenu2.onactivate = function() { repositionMenu(myMenu2, -15); } myMenu3.onactivate = function() { repositionMenu(myMenu3, -290); } // this function repositions a menu to the speicified offset from center function repositionMenu(menu, offset) { // the new left position should be the center of the window + the offset var newLeft = getWindowWidth() / 2 + offset; // setting the left position in netscape is a little different than IE menu.container.style ? menu.container.style.left = newLeft + "px" : menu.container.left = newLeft; } // this function calculates the window's width - different for IE and netscape function getWindowWidth() { return window.innerWidth ? window.innerWidth : document.body.offsetWidth; } ypSlideOutMenu.writeCSS(); </script> <STYLE type=text/CSS> .menuActuator A { font-WEIGHT: bold; font-SIZE: 12px; COLOR: #666666; font-FAMILY: arial; background-color:#00CC99; } .menu { font-SIZE: 10px; COLOR: #0099CC; font-FAMILY: verdana; BACKGROUND-COLOR: #B8DBEF; background-color:#993300; } .den {background-color:#99CC00; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:14px;} </STYLE> </HEAD> ______________________________________ body de yer alacaklar ************************************************** <table width="380" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><A onmouseover="ypSlideOutMenu.showMenu('menu1');" onmouseout="ypSlideOutMenu.hideMenu('menu1')" href="http://www.youngpup.net/_projectDirectories/ypSlideOutMenus/relativeJS/index.HTML#"><img src="resim1.gif" width="135" height="20" border="0"></A></td> <td><A onmouseover="ypSlideOutMenu.showMenu('menu2');" onmouseout="ypSlideOutMenu.hideMenu('menu2')" href="http://www.youngpup.net/_projectDirectories/ypSlideOutMenus/relativeJS/index.HTML#"><img src="resim2.gif" width="135" height="18" border="0"></A></td> <td><A onmouseover="ypSlideOutMenu.showMenu('menu3');" onmouseout="ypSlideOutMenu.hideMenu('menu3')" href="http://www.youngpup.net/_projectDirectories/ypSlideOutMenus/relativeJS/index.HTML#">menu3</A></td> </tr> </table> <TD class=menuActuator align=middle width=51><br> <div id=menu1Container> <div class=menu id=menu1Content><a href="#" >this is menu 1!</a><br><span class="den">mnbmnbmnb</span><br>nkjnkjnkjn</div> </div> <div id=menu2Container> <div class=menu id=menu2Content>this is menu 2!</div> </div> <div id=menu3Container> <div class=menu id=menu3Content>this is menu 3!</div> </div>
__________________
Z:web 2.0 As Flowers E-kart Düşünüyorum Öyleyse e-Varim Emre Murat Tatar Duyarlı Gençlik TR Mesaj emremer tarafından 26.11.2004 (10:01) yeniden düzenlendi.. |
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 02.11.2001
Yer: Viyana, İstanbul
Yaş: 30
Mesaj: 1,019
|
Re: ortalanmis table içinde slide menü scripti (img'da over olunca)
yardımını esirgemeyen(!) herkese teşekür
__________________
Z:web 2.0 As Flowers E-kart Düşünüyorum Öyleyse e-Varim Emre Murat Tatar Duyarlı Gençlik TR |
|
|
|
![]() |
| Etiketler |
| olunca , imgda , scripti , menu , slide , table , ortalanmis |
|
|
Zoque'a hoşgeldiniz!