הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה בJS, ישור תפריט נפתח (https://hosts.co.il/forums/showthread.php?t=18183)

k.machine 21-03-06 19:50

עזרה ב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)
}
}

כל נסיון לשנות בקובץ הCSS לא עוזר.
זה רק הJS.

אם מישהו רוצה את כל הקבצים אז הנה לינק:

www.rafihatuel.com/chromemenu.rar
כל הקבצים שם.

אני צריך שהתפריט הנפתח יתיישר לצד הימני של הכותרת שלו.

תודה לעוזרים.

k.machine 21-03-06 19:58

נ.ב.

ניסיתי להחליף את כל הLeft ב-Right....לא עוזר

miniature 21-03-06 20:31

תנסה לשנות את ה width שבקובץ ה JS..

Kuchi 21-03-06 20:35

רפי רק כי אתה חמוד ואמרתי לך שכרגע לא יכולתי (עכשיו אני יכול)
תחליך את הקובץ CSS שיש לך שם עם זה !
www.kuchi.be/Hosts.co.il/RafiCss/chromestyle.css
ב - |לב| ממני :)

miniature 21-03-06 20:52

ציטוט:

נכתב במקור על ידי KuChI-PoChI
רפי רק כי אתה חמוד ואמרתי לך שכרגע לא יכולתי (עכשיו אני יכול)
תחליך את הקובץ CSS שיש לך שם עם זה !
www.kuchi.be/Hosts.co.il/RafiCss/chromestyle.css
ב - |לב| ממני :)

לא שינית כלום..

Kuchi 21-03-06 22:09

ציטוט:

נכתב במקור על ידי miniature
לא שינית כלום..

א ) שיניתי ועוד איך
ב ) טוב לדעתי אפשר לנעול חחח עשיתי לו את זה באייסי :)

אבל זה כבר אם הוא ירצה :)
רפי תהנה שמחתי לעזור לך בויה|winky|

k.machine 21-03-06 22:12

אכן כן

תודה רבה לקוצ'י החמוד-מוד-שמן הזה!! :):)

עזר לי כמו אח גדול!
Thank You Very Much!!!
:):)

אפשר לנעול כפרות

Kuchi 21-03-06 22:17

תהנה בויה :)


כל הזמנים הם GMT +2. הזמן כעת הוא 19:57.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ