![]() |
# 1 |
תודה על תרומתך.
|
עזרה בJS, ישור תפריט נפתח
שלום לכולם.
הבהרה קטנה: לפני שאתם ישר קופצים לזה שהבעייה בHTML אז אני מחדש לכם שהיא לא. ניסיתי את כל האפשרויות הקיימות, שום דבר לא עוזר. אז פניתי לקובץ של הJS וניסיתי ליישר משם. וזה אכן ישר, אבל לצדדים לא טובים. www.rafihatuel.com/menu/demo.htm זה התפריט. שימו לב כשהוא נפתח אז זה לצד שמאל מהכותרת שלו, ולא מצד ימין כך שזה יוצא מותאם לעברית. זה הקוד בקובץ הJS: HTML קוד:
//Chrome Drop Down Menu- Author: Dynamic Drive (http://www.dynamicdrive.com) //Last updated: Jan 1st, 06' var cssdropdown={ disappeardelay: 250, //set delay in miliseconds before menu disappears onmouseout //No need to edit beyond here//////////////////////// dropmenuobj: null, ie: document.all, firefox: document.getElementById&&!document.all, getposOffset:function(what, offsettype){ var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop; var parentEl=what.offsetParent; while (parentEl!=null){ totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop; parentEl=parentEl.offsetParent; } return totaloffset; }, showhide:function(obj, e, visible, hidden){ if (this.ie || this.firefox) this.dropmenuobj.style.left=this.dropmenuobj.style.top="-500px" if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover") obj.visibility=visible else if (e.type=="click") obj.visibility=hidden }, iecompattest:function(){ return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body }, clearbrowseredge:function(obj, whichedge){ var edgeoffset=0 if (whichedge=="rightedge"){ var windowedge=this.ie && !window.opera? this.iecompattest().scrollRight+this.iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15 this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetWidth if (windowedge-this.dropmenuobj.x > this.dropmenuobj.contentmeasure) //move menu to the left? edgeoffset=this.dropmenuobj.contentmeasure-obj.offsetWidth } else{ var topedge=this.ie && !window.opera? this.iecompattest().scrollTop : window.pageYOffset var windowedge=this.ie && !window.opera? this.iecompattest().scrollTop+this.iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18 this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetHeight if (windowedge-this.dropmenuobj.y < this.dropmenuobj.contentmeasure){ //move up? edgeoffset=this.dropmenuobj.contentmeasure+obj.offsetHeight if ((this.dropmenuobj.y-topedge)<this.dropmenuobj.contentmeasure) //up no good either? edgeoffset=this.dropmenuobj.y+obj.offsetHeight-topedge } } return edgeoffset }, dropit:function(obj, e, dropmenuID){ if (this.dropmenuobj!=null) //hide previous menu this.dropmenuobj.style.visibility="hidden" this.clearhidemenu() if (this.ie||this.firefox){ obj.onmouseout=function(){cssdropdown.delayhidemenu()} this.dropmenuobj=document.getElementById(dropmenuID) this.dropmenuobj.onmouseover=function(){cssdropdown.clearhidemenu()} this.dropmenuobj.onmouseout=function(){cssdropdown.dynamichide(e)} this.dropmenuobj.onclick=function(){cssdropdown.delayhidemenu()} this.showhide(this.dropmenuobj.style, e, "visible", "hidden") this.dropmenuobj.x=this.getposOffset(obj, "left") this.dropmenuobj.y=this.getposOffset(obj, "top") this.dropmenuobj.style.left=this.dropmenuobj.x-this.clearbrowseredge(obj, "leftedge")+"px" this.dropmenuobj.style.top=this.dropmenuobj.y-this.clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+1+"px" } }, contains_firefox:function(a, b) { while (b.parentNode) if ((b = b.parentNode) == a) return true; return false; }, dynamichide:function(e){ var evtobj=window.event? window.event : e if (this.ie&&!this.dropmenuobj.contains(evtobj.toElement)) this.delayhidemenu() else if (this.firefox&&e.currentTarget!= evtobj.relatedTarget&& !this.contains_firefox(evtobj.currentTarget, evtobj.relatedTarget)) this.delayhidemenu() }, delayhidemenu:function(){ this.delayhide=setTimeout("cssdropdown.dropmenuobj.style.visibility='hidden'",this.disappeardelay) }, clearhidemenu:function(){ if (this.delayhide!="undefined") clearTimeout(this.delayhide) } } זה רק הJS. אם מישהו רוצה את כל הקבצים אז הנה לינק: www.rafihatuel.com/chromemenu.rar כל הקבצים שם. אני צריך שהתפריט הנפתח יתיישר לצד הימני של הכותרת שלו. תודה לעוזרים. |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|