What happened to the Messenger Plus! forums on msghelp.net?
Shoutbox » MsgHelp Archive » Skype & Technology » Tech Talk » Can anyone please help with DOM script

Can anyone please help with DOM script
Author: Message:
iainb
New Member
*


Posts: 3
Joined: Nov 2007
O.P. Can anyone please help with DOM script
hi

I am totally confused with a piece of DOM script I have written.. I am very new to this so this might be something which is simple... my script works fine in IE, but does not in Firefox and Opera (mine at least, not tested in others)

It should just basicly show a different set of 3 pictures directly underneath when the main link in the  first <ul><li> for each category is given focus. it should show them directly underneath..

in firefox and opera the images load up when the page is loaded, but after a link is clicked / given focus the images dissappear. rather than just swapping for the chosen categories images.. I can only assume that they are remaining in the left:-1500px position and not being reset when the link gets focus.

I hope I am making sense.. I will show all code to maybe make it more clear.

Thanks in advance for any help you can give.

iain

code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
BODY {
font-size:15px;
background-color:#FFF;
}
#newvideo li img { border:0px; padding:0px; margin:0px; }
#newvideo ul.tabscontainer span.categorytab { display:block; padding-left:10px;}
#newvideo {
position:relative;
width:500px;
height:200px;
min-height:200px !important;
margin:0px auto;
margin-top:50px;
padding:0px;
border:1px dashed #999;
}
#newvideo ul.tabscontainer {
float:left;
width:100%;
padding:5px 0px 5px 0px;
margin:0px;
border-bottom:1px dashed #999;
}
#newvideo ul.tabscontainer li {
float:left;
margin:0px 20px 0px 0px;
list-style:none none;
background-color:#E5E5E5;
}

#newvideo ul.tabscontainer li a {
padding:5px 5px;
color:#666;
text-decoration:none;
}
#newvideo ul.tabscontainer li ul {
position:absolute;
top:55px;
left:-1500px;
z-index:100;
width:450px;
padding:10px 5px 10px 15px;
margin:0px;
border:1px dashed #999;
}
#newvideo ul.tabscontainer li ul li {
float:left;
padding:5px 5px;
margin:0px 20px 0px 0px;
background-color: #DADADA;
}
#newvideo ul.tabscontainer li ul li a {
padding:0px; margin:0px;
}

/* -----------   Visible UL Layer Properties  ------------- */
#newvideo ul.tabscontainer li ul.initialvisible {
position:absolute;
top:55px;
left:15px;
}
</style>


<script type="text/javascript">
function passFocus(obj) {
var displayID = obj.id;
var firstLink = displayID + "link1";
var displayUL = displayID + "UL";
var ulList    = document.getElementById('tabsUL').getElementsByTagName("ul");
for (var i=0;i<ulList.length;i++)
  {
  ulList[i].style.left="-1500px"
  }
  document.getElementById(displayUL).style.left="15px";
document.getElementById(firstLink).focus();
}
</script>



</head>
<body>
<img style="position:absolute; top:-100px; left:-1500px; z-index:-100;" src="images/image.gif" height="85" width="75" alt="dffgfdg" />
<div id="newvideo">
<ul id="tabsUL" class="tabscontainer">
<span class="categorytab">
<li><a id="newcomedy" onfocus="passFocus(this)" href="#">Comedy</a>
<ul id="newcomedyul" class="initialvisible">
<li id="newcomedylist1"><a id="newcomedylink1" href="blah.php"><img src="images/img.gif" alt="" /></a></li>
<li id="newcomedylist2"><a id="newcomedylink2" href="blah.php"><img src="images/img.gif" alt="" /></a></li>
<li id="newcomedylist3"><a id="newcomedylink3" href="blah.php"><img src="images/img.gif" alt="" /></a></li>
</ul>
</li>
</span>
<span class="categorytab">
<li><a id="newsport" onfocus="passFocus(this)" href="#">Sport</a>
<ul id="newsportul" class="initialhidden">
<li id="newsportlist1"><a id="newsportlink1" href="blah.php"><img src="images/image.gif" alt="" /></a></li>
<li id="newsportlist2"><a id="newsportlink2" href="blah.php"><img src="images/image.gif" alt="" /></a></li>
<li id="newsportlist3"><a id="newsportlink3" href="bla.php"><img src="images/image.gif" alt="" /></a></li>
</ul>
</li>
</span>
<span class="categorytab">
<li><a id="newpolitics" onfocus="passFocus(this)" href="#">Politics</a>
<ul id="newpoliticsul" class="initialhidden">
<li id="newpoliticslist1"><a id="newpoliticslink1" href="blah.php">img src="images/img3.gif" alt="" /></a></li>
<li id="newpoliticslist2"><a id="newpoliticslink2" href="blah.php"><img src="images/img3.gif" alt="" /></a></li>
<li id="newpoliticslist3"><a id="newpoliticslink3" href="blah.php"><img src="images/img3.gif" alt="" /></a></li>
</ul>
</li>
</span>
</ul>
</div>
</body>
</html>


11-06-2007 04:24 AM
Profile E-Mail PM Find Quote Report
WDZ
Former Admin
*****

Avatar

Posts: 7106
Reputation: 107
– / Male / Flag
Joined: Mar 2002
RE: Can anyone please help with DOM script
getElementById is case-sensitive in browsers other than IE, so that might be your problem...

code:
var displayUL = displayID + "UL";

...

<ul id="newcomedyul"
11-06-2007 04:42 AM
Profile PM Web Find Quote Report
iainb
New Member
*


Posts: 3
Joined: Nov 2007
O.P. RE: Can anyone please help with DOM script
hi WDZ,

Thanks for the speedy reply, that sorted it out perfectly.

you are a legend : )
11-06-2007 04:51 AM
Profile E-Mail PM Find Quote Report
-dt-
Scripting Contest Winner
*****

Avatar
;o

Posts: 1819
Reputation: 74
36 / Male / Flag
Joined: Mar 2004
RE: Can anyone please help with DOM script
why dont you just set the element you want hidden to
code:
display: none;


and when you want it to show do

code:
document.getElementById('xxx').style.display = "block";

[Image: dt2.0v2.png]      Happy Birthday, WDZ
11-06-2007 04:52 AM
Profile PM Web Find Quote Report
iainb
New Member
*


Posts: 3
Joined: Nov 2007
O.P. RE: Can anyone please help with DOM script
hi dt.

I originally used left:-1500px instead of "display:none" because I wanted it to remain in the tab order and then just appear when it gained focus. In a hope to keep it more accessible. But as that it now recieves focus from its parent link that is not an issue and have now reverted back to the display:none method
thanks
11-06-2007 01:05 PM
Profile E-Mail PM Find Quote Report
« Next Oldest Return to Top Next Newest »


Threaded Mode | Linear Mode
View a Printable Version
Send this Thread to a Friend
Subscribe | Add to Favorites
Rate This Thread:

Forum Jump:

Forum Rules:
You cannot post new threads
You cannot post replies
You cannot post attachments
You can edit your posts
HTML is Off
myCode is On
Smilies are On
[img] Code is On