RTL (Right-To-Left) still bugging me

Having problems with DHTML Menu? There is usually somebody here who knows the answer.
Post Reply
User avatar
ronnie
Advanced
Advanced
Posts: 23
Joined: Wed Oct 22, 2003 8:46 am
Location: israel

RTL (Right-To-Left) still bugging me

Post by ronnie »

hi all,

when using the menu in right-to-left page (either <BODY DIR=RTL> or in <DIV DIR=RTL>) the menu doesn't do exactly what's expected.

2 main issues are:
1. a lot of screen space in inserted to the left of menu (view URL).
2. _subOffsetLeft and probably also other properties cannot be adjusted properly (i suppose this is related to problem #1).

please check out: http://www.newprofile.org (and don't mind the too many hebrew characters/gibrish on the screen. english & other versions will very soon be online).


10x, r. ;)
User avatar
John
 Team
 Team
Posts: 5967
Joined: Sun May 19, 2002 8:23 pm
Location: Phoenix, AZ
Contact:

Post by John »

First, thank you for posting your license number in your code. Since all menu use has to be licensed, we will probably start requiring this soon.

You are pretty far down-level - RC19 vs. the current RC28. I'd upgrade and see if the problem is still there.

I looked at your site in Safari (which displayed the characters just fine) and did not see the problem you indicated, and in IE (which was too stupid to understand the characters), so I really couldn't see anything there.
John
User avatar
ronnie
Advanced
Advanced
Posts: 23
Joined: Wed Oct 22, 2003 8:46 am
Location: israel

Post by ronnie »

1. yep, i should be upgrading. will do..
2. maybe i didn't describe the problem clearly: the window appears fine except there's about 800-1000 of extra window size (in white) to the left of the viewed window, meaning there's also a horizontal scrollbar present.

r. :)
User avatar
John
 Team
 Team
Posts: 5967
Joined: Sun May 19, 2002 8:23 pm
Location: Phoenix, AZ
Contact:

Post by John »

I understood the problem, it just wasn't there in Safari. The menus were clean and no wider than necessary for the text.

IE displayed garbage all over the screen (not the special characters), so there was no chance to see what it was doing.
John
User avatar
ronnie
Advanced
Advanced
Posts: 23
Joined: Wed Oct 22, 2003 8:46 am
Location: israel

Post by ronnie »

updated to RC28, nothing new..

i've been seeing this problem on every IE/Win i came accross with, i'd appreciate if you could recheck.


10x john, will keep on updating.
User avatar
John
 Team
 Team
Posts: 5967
Joined: Sun May 19, 2002 8:23 pm
Location: Phoenix, AZ
Contact:

Post by John »

Right now all I can do is look with Mac, as that's all I'll let in the house :!: Have to wait 'til Monday for Windoze (stuck with it at work), unless somebody else will look for you.
John
User avatar
ronnie
Advanced
Advanced
Posts: 23
Joined: Wed Oct 22, 2003 8:46 am
Location: israel

Post by ronnie »

wishing you an all Mac monday!

goodnight (sunrise over here), r. ;)
User avatar
kevin3442
Milonic God
Milonic God
Posts: 2460
Joined: Sat Sep 07, 2002 12:09 am
Location: Lincoln, NE
Contact:

Post by kevin3442 »

On a quick glance with IE6/Win2k, I have no solution to offer (just lettnig you know that I looked). I can add that:

(1) I do see what you described: extral space + scroll bar in IE6. Also (and I'm sure it's related), your left main menu scrolls sompletely off the page if you narrow the browser window.

(2) I can't replicate the behavior locally by editing a downloadable samples. Have not yet worked with your own code locally.

(3) Thought you might want to know that the behavior is very different in NS7/Win2k. There is no vertical scroll bar and no extra space to the left of the main menu. You still get extra space... but it's in the submenus themselves. In other words, each of the submenus spans the entire width of the browser window, with the text right justified. Also, just FYI, the page in NS7 does not look at all like it does in IE6... the layout is completely messed up and most of your content does not appear (it's all stuck in a small iframe at the right of the page).

(4) In Opera 7.2, the layout is ok, but there is a horizontal scrollbar with extra space at the right of the page. The 2 main menus appear, but they don't look correct and none of the submenus appear.

(5) Your main menus are embedded in table cells that seem to be part of a pretty complex, nested tables setup. I seem to recall reading somewhere that you may get "unexpected results" if you embed menus in a complex table structure. Maybe that still applies; this certainly seems to qualify for "unexpected results". Is it necessary for you to put the menus inside of tables? If your main reason for doing so is to position the menus, it seems to me that you don't have to do it that way. I beliee that your menu layout can easily be accomplished with the menu's built-in positioning options, without resorting to tables. That might be the easiets solution for you.

Hope that helps,

Kevin
User avatar
ronnie
Advanced
Advanced
Posts: 23
Joined: Wed Oct 22, 2003 8:46 am
Location: israel

Post by ronnie »

thanks kev for the work & elaborate answer.
regarding the menu positioning, it seemed like the most obvious to place the 2 menus (one horiz + one vert) each in a <TD> along with all the other stuff.
please explain how i get the same result (postion:relative is good enough?) without table bound menus.
oh.. and please note in your answer that i wanna make the website both suitable for most resolutions (800x600 and up) and also multi-lingual (meaning there are different menu contents in each language. some wider, some are less).


10x again! ;)
galron
Beginner
Beginner
Posts: 1
Joined: Tue Dec 02, 2003 11:17 am

same problems with RTL

Post by galron »

I've been checking the Milonic DHTML menus for the use in my site before I'll decide on purchase a license.

I've used the code example for the "Relative Positioning" menu example. The only change I did was to set in te body in the menu.htm file the "dir=RTL" parameter.

The problem I found in IR5&6 is that the submenu are no opening correctly. There is a large gap between the main menu ad the sub menu.
I think that it got to do with some of the variables in the code side the problem is resolved (for IE5 and partially for IE6) when you do the following:
1. open the first sub menu -the sub menu will be open with a gap.
2. open the second sub menu -the sub menu will be open with a gap.
3. close the sub menus.
4. open the first sub menu - the sub menu will open properly (in IE5&6).
5. open the second sub menu - the sub menu will open properly (in IE5, for IE6 there is still a gap problem).

I tried to debug the source and fid the probem in the parameters setting but it is hard to do with the "compressed" source.

Do you think you have a soulotion?[/img][/list]
User avatar
kevin3442
Milonic God
Milonic God
Posts: 2460
Joined: Sat Sep 07, 2002 12:09 am
Location: Lincoln, NE
Contact:

Post by kevin3442 »

oh.. and please note in your answer that i wanna make the website both suitable for most resolutions (800x600 and up) and also multi-lingual (meaning there are different menu contents in each language. some wider, some are less).[/quote]
Hi Ronnie,

Sorry for the delay.... been traveling.
ronnie wrote:regarding the menu positioning, it seemed like the most obvious to place the 2 menus (one horiz + one vert) each in a <TD> along with all the other stuff.
Certainly makes sense, but I think that most positioning requirements can best be handled without the need for tables.
please explain how i get the same result (postion:relative is good enough?) without table bound menus.
You don't need to set the position property at all if you do what I have in mind. Try this... remove your curent menu code from the table cells and put it in your menu_data.asp file, along with your other menu definitions. Your two "main" menus will end up being defined something like this:

The Main Menu:

Code: Select all

with(milonic=new menuname("Main Menu")){
style=mainmenuStyle;
top=112;
screenposition="right";
alwaysvisible=1;
orientation="horizontal";
aI("text=ãó äáéú;url=javascript:milonic_click('home','False');status=áøåë/ä äáà/ä...;");
aI("text=îé àðçðå;showmenu=SubMenu0;url=javascript:milonic_click('showdata.asp?id=1&language=he','False');status=àîðú ôøåôéì çãù;");
aI("text=çãùåú åôòéìåéåú;url=javascript:milonic_click('showdata.asp?topic=c&navbar=1','False');status=çãùåú åòéãëåðéí;");
aI("text=çéðåê;url=javascript:milonic_click('showdata.asp?topic=d&navbar=1','False');status=ìåç ôòéìåéåú åàéøåòéí;");
aI("text=ñéøåá åäéîðòåú;showmenu=SubMenu1;url=javascript:milonic_click('showdata.asp?topic=e&navbar=1','False');status=ñøáðé/åú îöôåï;");
aI("text=îéãò;url=javascript:milonic_click('showdata.asp?topic=f&navbar=1','False');status=îàîøéí åäøöàåú;");}
Note the use of the top and screenposition properties to position the menu (adjust top as needed). Note also that the position property has been removed because it is not needed in this application. If you want to bump the menu away from the right edge of the window a little bit, you could also throw in left="offset=-5"; or however many pixels you'd like to adjust it. I have also not included openstyle="rtl";. I find it interesting that, even though you include it in your menu code, it doesn't seem to take effect (e.g., the subimage in your menu items is sill on the right, when openstyle="rtl"; should move it to the left. I think this might be because your use of openstyle="rtl"; in the menu and DIR="RTL" in the <body> have cancelled each other out (just a hunch). Anyway, you could put openstyle="rtl"; back in, but that would move the subimage to the left side of the menu items, which is not where they currnetly are in your test page. Try it both ways and see which one you like better.

The Vertical Menu:

Code: Select all

with(milonic=new menuname("Vertical Menu")){
style=verticalmenuStyle;
top=112;
alwaysvisible=1;
menuwidth=80;
aI("text=Language  <img src="images/earth.ico">;showmenu=VerticalSubMenu0;status=áçéøú ùôä;");
aI("text=ùì îé äáéèçåï äæä?;url=javascript:milonic_click('showdata.asp?id=2&language=he','False');status=?ùì îé äáéèçåï äæä;");
aI("text=öøå ÷ùø;url=javascript:milonic_click('contactform.asp','False');status=öøå ÷ùø;");
aI("text=÷éùåøéí;showmenu=LinksMenu;status=àúøéí áøùú;");
aI("text=ôåøåí;url=javascript:milonic_click('http://www.speedy.co.il/cgi-bin/forums/index.cgi?board=newprofile','True');status=äôåøåí ùì ôøåôéì;");}
Changes include: Use of top to position the menu (no need to set left, because it will be 0 by default -- unless you want to move it off the left edge a bit). Removal of position (not needed now). Removal of orientation (vertical is the default, so not needed). Again, I find it iteresting that you used openstyle="ltr"; (the default by the way)... so, the subimage should be on the right side, but it's actually on the left... again, because of a reversal caused by DIR="RTL" in the <body>??? Experiment with this setting to see which you prefer.

Last comment: you should use semicolons after the last property setting (before the closing double quote) of each aI() menu item definition. You are leaving them out after status="xxxxxxx" ... should be status="xxxxxx";

Hope that helps,

Kevin
Post Reply