Help!

Could anyone who’s a hotshot with DOM/CSS/Javascript possibly help me out? I have a mouseover set that sets a <div>’s visibility from none to inline (and then back again on mouseout). The block is 2 <div>s, stacked vertically, in a table-cell, aligned to the top of the cell. When I mouseove in a gecko-engined browser, the whole block makes a vertical leap down to the bottom of the table cell (actually it appears it jumps so that the top of the block is now where the bottom of the block was before the mouseover). Anyhoo. This is very complicated to describe, simple to see. If you’d like to see it, and/or think you might know why it’s doing this, please email me. As a further note, Brishen seems to have narrowed it down to the setting the display to none dynamically that Gecko barfs on. Does anyone know if this is just a weakness in Gecko? (Further: can anyone explain this to me?)

To make this easier, this is the script I use:

function Show(ob) {
if (document.getElementById) {
// gecko
document.getElementById(ob).style.display = "inline"
} else if (document.all) {
// IE
document.all.ob.style.display = "inline"
} else {
// opera?
document.ob.display ="inline"
}
}

// 6. Hide
// This hides an object.

function Hide(ob) {
if (document.getElementById) {
// gecko
document.getElementById(ob).style.display = "none"
} else if (document.all) {
//IE
document.all.ob.style.display = "none"
} else {
//opera?
document.ob.display = "none"
}
}

I have a second request too, this one just CSS: I have a footer nav-bar that is dynamically generated. I have no idea how long it is, nor how long each option is. However, I’d love it if when it needs to wrap, it would wrap a whole option, rather than just a word. So that if it needed to wrap ‘Get Wasted’, it would put the entirety of it on the new line, not just ‘Wasted’. I’m sure this is any easy thing to do, but I can’t figure it out. I’ve played with setting each element in a <div>, but perhaps I need a particular style. I can’t float them, because I’ve no idea of the length of each one, and don’t want more than a &nbsp; on each side of an element. Simply setting them in a div didn’t seem to do it either. Is there something like a <span nowrap> or anything that I’m unaware of?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: