SitePoint Sponsor

User Tag List

Results 1 to 13 of 13

Hybrid View

  1. #1
    I'll take mine raw silver trophy MikeFoster's Avatar
    Join Date
    Dec 2002
    Location
    Alabama, USA
    Posts
    2,560
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb Hawk - a site framework

    Hawk is a downgradable DHTML site framework with layout and menu managers.

    This is a beta release and the documentation still needs much work.

    I'd like to get your opinions and suggestions. If you have a little time to answer some of the following questions I would really appreciate it.

    Thanks!


    Hawk Questions

    1. I've been testing on Win98 with Opera7.11, Mozilla1.4, and IE6.0. How does it work on different browsers and different operating systems?

    2. I haven't spent much time on the styling for downgrade mode - but it's not too bad and I think it shows the potential for a nice downgrade layout. Turn javascript off in your browser and reload this page to see it in downgrade mode. What do you think?

    3. The file structure is an essential part of this framework. Basically, for each page there can be separate files with the following relations (some are optional): site content, site style, site behavior, page content, page style, page behavior, and the page's main xhtml file itself. At first this seems excessive - but I think having this built into the framework may help to keep everything separated properly. It should also help to keep things abstracted into single reusable files instead of, for example, menu xhtml being duplicated in different files. What are your thoughts on this file structure idea? I know it's nothing new - it's just my latest toy ;-)


    xMenu Questions

    1. The closing of a box is not controlled by a timeout - it is controlled by how far away from the box the mouse is. Labels are the same - you're not off a label until you exceed a certain distance. How do you like this as compared to the timeout technique?

    2. The menus float onscroll (this is optional) - but only after a certain time has completely elapsed after the last scroll. The horizontal menu disappears on the first scroll and reappears after the timeout. How do you like this technique (of course it could be tweaked) compared to floating immediately onscroll?

    3. The menu automatically places a box to the right/left or bottom/top of its label depending on whether or not the box would fall off-screen. The algorithm favors right and bottom. This makes for a different type of 'cascade' when the menu is close to the window's right edge. The horizontal menu on this page is an example. What do you think of this? Perhaps the algo should favor right when the menu is positioned on the left, and favor left when it's positioned on the right, etc. Is it worth adding more code?

    4. Properties are added to the menu box elements to create a multi-way tree. And there's a function provided for pre-order traversal. So it's easy to add new paint iterators to xMenu. The current paint method will draw a horizontal or vertical cascading style menu. I'm thinking of adding one which will draw the menu as a tree structure or collapsible list. Would this be useful? Is it worth the effort?


    xDocument Questions

    1. Resize the window to several different widths. Do the elements seem to get resized and repositioned properly? The algo allows you to specify a min and max width. When the window is less than minWidth, xBody (the columns' container) is given minWidth. When the window is greater than maxWidth, xBody is given maxWidth. When the window is between minWidth and maxWidth, xBody is given that width. Centering is optional.

    2. Do you have a different width-determination idea? Perhaps based on a percentage of the window width?

    3. xDocument supports any number of columns and allows you to specify the width of each column in pixels. One column can be specified with zero width - this column's width will get auto-calculated based on the combined width of the other columns, margins, etc. Do you like this? Would you prefer being able to specify the column widths in percentages of xBody width?
    Last edited by MikeFoster; Sep 29, 2003 at 08:23.

  2. #2
    Web-coding NINJA! silver trophy beetle's Avatar
    Join Date
    Jul 2002
    Location
    Dallas, TX
    Posts
    2,900
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Cool, I'm definitely gonna give this a looksie.
    beetle a.k.a. Peter Bailey
    blogs: php | prophp | security | design | zen | software
    refs: dhtml | gecko | prototype | phpdocs | unicode | charsets
    tools: ide | ftp | regex | ffdev




  3. #3
    SitePoint Evangelist ucahg's Avatar
    Join Date
    Apr 2001
    Location
    Sarnia, Ontario, Canada
    Posts
    434
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    For whatever reason, on MozillaFirebird, all your menus open above the menubar, causing them to go off the screen or be unreachable by the mouse in the case of your 2-level menubar. This happens on your main site as well as this hawk one.
    Love it? Hate it? Helpful? Useless?
    Use the rate button to let me know what you think of my post!

  4. #4
    I'll take mine raw silver trophy MikeFoster's Avatar
    Join Date
    Dec 2002
    Location
    Alabama, USA
    Posts
    2,560
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi ucahg,

    Yes, this is the same Firebird problem (bug?) you've noted in a different thread. I did download Firebird, but I haven't had a chance to investigate.

    Thanks

  5. #5
    SitePoint Evangelist ucahg's Avatar
    Join Date
    Apr 2001
    Location
    Sarnia, Ontario, Canada
    Posts
    434
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Oh, I didn't realize the problems were related. I guess my post is a little redundant then. Oh well

    Edit:


    That thread Mike mentioned is here in case anyone was wondering about that. Also in that thread I believe I found the solution to the problem (in case you didn't notice it).
    Last edited by ucahg; Sep 15, 2003 at 19:12.
    Love it? Hate it? Helpful? Useless?
    Use the rate button to let me know what you think of my post!

  6. #6
    I'll take mine raw silver trophy MikeFoster's Avatar
    Join Date
    Dec 2002
    Location
    Alabama, USA
    Posts
    2,560
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yes I think we're on to something there - but I don't like what we're finding

    Edit:

    I may have found a nice solution, but it needs testing - check the other thread
    Last edited by MikeFoster; Sep 16, 2003 at 06:49.

  7. #7
    I'll take mine raw silver trophy MikeFoster's Avatar
    Join Date
    Dec 2002
    Location
    Alabama, USA
    Posts
    2,560
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The xMenu3 demo is now part of the Hawk download.

    There's a good discussion on the menu in this thread concerning the use of nested ULs instead of nested DIVs.

  8. #8
    SitePoint Member
    Join Date
    Sep 2003
    Location
    Chicagoland
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question Menu on the Bottom of the Window?

    Can I use xMenu to make a floating menu anchored at the bottom of the window? If so, how?

    I've played with a few of the attributes, but I don't seem to get a noticable difference in positioning.

    TIA
    Judi Smith

  9. #9
    I'll take mine raw silver trophy MikeFoster's Avatar
    Join Date
    Dec 2002
    Location
    Alabama, USA
    Posts
    2,560
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi Judi,

    Using the xMenu3 demo, make the following modifications to cause menu 1 to float at the bottom of the window.

    First, modify the paint() method to set the menu's initial position at the bottom of the window (line 64).
    Code:
        // m1
        xMoveTo(this.m1.ele, x, xScrollTop() + xClientHeight() - xHeight(this.m1.ele));
    Menu1's floater offsets are calculated on lines 81 and 82 based on the menu's initial position. No changes are needed there.

    Next, modify the winOnScroll event handler. The original code (lines 31 and 32) follows.
    Code:
        // m1
        if (st > pg.m1Top) {xSlideTo(pg.m1.ele, xScrollLeft() + pg.m1Left, st, 700);}
        else {xSlideTo(pg.m1.ele, xScrollLeft() + pg.m1Left, pg.m1Top, 700);}
    Now modify the sliding of m1 as follows.
    Code:
        // m1
        xSlideTo(pg.m1.ele, xScrollLeft() + pg.m1Left, xScrollTop() + pg.m1Top, 700);
    Let me know if this helps you or not. If you can provide a link to your page I'll take a look at it.

    Thanks!

  10. #10
    I'll take mine raw silver trophy MikeFoster's Avatar
    Join Date
    Dec 2002
    Location
    Alabama, USA
    Posts
    2,560
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I forgot to mention...

    There are a few little 'gotchas' when positioning at the right or bottom of a window. Depending on your particular situation, the scrollbar may or may not have drawn itself when you initially position your menu. This can make your menu position too low or too high by the height of the scrollbar.

    If you are using dhtml for other elements on the page, try to position the menu after everything on the page has 'reflowed'.

  11. #11
    SitePoint Member Kalirion's Avatar
    Join Date
    Sep 2003
    Location
    Reston, VA
    Posts
    22
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi Mike, the site demo looks great! Unfortunately the menu system doesn't seem to work on MAC/IE5.2.2. The menu bar appears on the white background below the Hawk v0.01 beta text, which appears at the right edge of the screen. And when the menus are clicked, the menu items appear on the left side of the screen with no way for the cursor to make it to them without the items disappearing.

  12. #12
    I'll take mine raw silver trophy MikeFoster's Avatar
    Join Date
    Dec 2002
    Location
    Alabama, USA
    Posts
    2,560
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi Kalirion, Thanks!

    Are the symptoms similar to what was discussed here?

    If you don't mind, have a look at this page also and see if it has similar problems.

    preciate it!


  13. #13
    SitePoint Member Kalirion's Avatar
    Join Date
    Sep 2003
    Location
    Reston, VA
    Posts
    22
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The page you just gave a link for shows the exact same problem as described in bjorsq's post and gifs.

    The page this thread is about has somewhat different problems. Unfortunately I don't know how to capture the screen on a Mac, so I'll try to explain.

    I didn't notice the vertical menu before. While it is now easy to move to the level 1 menus produced by M2L2 and M2L3, it is beyond my abilities to move the cursor to any items exposed by M2L2L1, M2L2L2, and M2L3L1 before the menus close. If I may make a suggestion, maybe if the user clicks on a button that expands the menu, the menu can be forced to stay open until the user clicks outside the menu?

    The main problem still seems to be with the horizontal menu at the top of the screen. The "Site" button seems to be right-aligned with the page layout, at the place where "Top" should be. The Hawk version text is right to the left of "Site," with not a space between them. The rest of the menu buttons seem to be on the next line down, directly underneath. The menu opened up by "Site" opens directly underneath the button, but it is impossible to select any of the items and the menu closes on the attempt. The menu opened up by "Docs" is near the left edge of the screen, and the "M1L3" menu is next to it.

    But the version text and the menus still scroll vertically along with the page.

    Also, both pages seem very resistant to resizing, though this might just be because the iMac I'm using is veeeeery slow.

    Hope this helps!

    Kalirion.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •