PDA

View Full Version : aligning html table changes the spacing of this script plz look



atomix
01-31-2005, 01:34 PM
Ok,

I am using Smart Folding Menu Tree and it works GREAT.

Here is my problem.
The menu is in a frame on the left of my page. It's centered within the frame. I would like to align left the menu tree. I can do this, the problem I have is when I click on the link it drops the menu down but adds a space before and after the contents.. so..


This is what you get normally

+folder
-sub folder
-sub folder
+folder



When I align left using a table I get this

+folder

-sub folder
-sub folder

+folder







How Can i correct this?

darco9x2
02-01-2005, 10:14 PM
wats the link or the code your using?

atomix
02-03-2005, 02:53 PM
I dont have a link because it is an unpublished intranet.

Here is the code and a screenshot. I assume this only needs some CSS but I am not sure what the code would be to fix it.. I have tried a few things and can't seem to get it..

-----------------------------------------

<HTML>

<HEAD>

<LINK href="NT/style.css" rel=stylesheet type=text/css>

<style>
<!--
#foldheader{cursor:pointer;cursor:hand ; font-weight:bold ;
list-style-image:url(fold.gif)}
#foldinglist{list-style-image:url(list.gif)}
//-->
</style>

<script language="JavaScript1.2">

<!--

//Smart Folding Menu tree- By Dynamic Drive (rewritten 03/03/02)
//For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
//This credit MUST stay intact for use

var head="display:''"
img1=new Image()
img1.src="fold.gif"
img2=new Image()
img2.src="open.gif"

var ns6=document.getElementById&&!document.all
var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1

function checkcontained(e){
var iscontained=0
cur=ns6? e.target : event.srcElement
i=0
if (cur.id=="foldheader")
iscontained=1
else
while (ns6&&cur.parentNode||(ie4&&cur.parentElement)){
if (cur.id=="foldheader"||cur.id=="foldinglist"){
iscontained=(cur.id=="foldheader")? 1 : 0
break
}
cur=ns6? cur.parentNode : cur.parentElement
}

if (iscontained){
var foldercontent=ns6? cur.nextSibling.nextSibling : cur.all.tags("UL")[0]
if (foldercontent.style.display=="none"){
foldercontent.style.display=""
cur.style.listStyleImage="url(open.gif)"
}
else{
foldercontent.style.display="none"
cur.style.listStyleImage="url(fold.gif)"
}
}
}

if (ie4||ns6)
document.onclick=checkcontained

//-->
</script>

</HEAD>






<table align="left">
<font face="geneva, verdana, sans-serif" size="1">

<ul>
<li id="foldheader"><a href="announcements\default.asp" target="content">Announcements</a></li>
<ul id="foldinglist" style="display:none" style=&{head};>
</ul>

<li id="foldheader">Newsletters</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="newsletters\12-01-04.pdf" target="content">December</a></li>
</ul>

<li id="foldheader"><a href="" target="content">Phone Directory</a></li>
<ul id="foldinglist" style="display:none" style=&{head};>
</ul>

<li id="foldheader">Databases</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="\\swvmhi6\train\training.mdb" target="content">Training</a></li>
</ul>

<li id="foldheader">User Directories</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="\\swvmhi6\userdirs\Admin" target="content">Administrative</a></li>
<li><a href="\\swvmhi6\userdirs\AdmServ" target="content">Admin Services</a></li>
<li><a href="\\swvmhi6\userdirs\CLINICAL" target="content">Clinical</a></li>
<li><a href="\\swvmhi6\userdirs\HRPOLS" target="content">Human Resources</a></li>
<li><a href="\\swvmhi6\userdirs\Medical" target="content">Medical</a></li>
<li><a href="\\swvmhi6\userdirs\MedicalRecords" target="content">Medical Records</a></li>
<li><a href="\\swvmhi6\userdirs\MISPOLS" target="content">MIS</a></li>
<li><a href="\\swvmhi6\userdirs\NURSING" target="content">Nursing</a></li>
<li><a href="\\swvmhi6\userdirs\Pharmacy Policies" target="content">Pharmacy</a></li>
<li><a href="\\swvmhi6\userdirs\QM_RM" target="content">Risk Management</a></li>
<li><a href="\\swvmhi6\userdirs\TRNPOL" target="content">Training</a></li>
</ul>

<li id="foldheader">Applications</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="\\Swvmhi6\CAI\TBSystem\tb85run.exe" target="content">CAI</a></li>
<li><a href="\\swvmhi6\userdirs\AdmServ" target="content">Soon</a></li>
<li><a href="\\swvmhi6\userdirs\CLINICAL" target="content">Soon</a></li>
</ul>

<li id="foldheader"><a href="" target="content">Forum</a></li>
<ul id="foldinglist" style="display:none" style=&{head};>
</ul>

<li id="foldheader">Dept. Specific</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">Dynamic Drive</a></li>
<li><a href="http://www.javascriptkit.com">JavaScript Kit</a></li>
<li><a href="http://www.freewarejava.com">Freewarejava.com</a></li>
</ul>

<li id="foldheader">Nested Example</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">outer 1</a></li>
<li><a href="http://www.dynamicdrive.com">outer 2</a></li>
<li id="foldheader">Nested</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">nested 1</a></li>
<li><a href="http://www.dynamicdrive.com">nested 2</a></li>
</ul>
<li><a href="http://www.dynamicdrive.com">outer 3</a></li>
<li><a href="http://www.dynamicdrive.com">outer 4</a></li>
</ul>
</ul>


</BODY>



<script language="JavaScript1.2">
<!--

function get_cookie(Name) {
//Get cookie routine by Shelley Powers
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

var foldercontentarray=new Array()
var c=0

if (ns6){
for (i=0;i<document.getElementsByTagName("UL").length;i++){
if (document.getElementsByTagName("UL")[i].id=="foldinglist"){
foldercontentarray[c]=document.getElementsByTagName("UL")[i]
c++
}
}
}

if (get_cookie(window.location.pathname) != ''){
var openresults=get_cookie(window.location.pathname).split(" ")
for (i=0 ; i < openresults.length ; i++){
if (ns6){
foldercontentarray[openresults[i]].style.display=''
foldercontentarray[openresults[i]].previousSibling.previousSibling.style.listStyleImage="url(open.gif)"
}
else{
foldinglist[openresults[i]].style.display=''
document.all[foldinglist[openresults[i]].sourceIndex -1].style.listStyleImage="url(open.gif)"
}
}
}

if (ns6||ie4){
var nodelength=ns6? c-1 : foldinglist.length-1
var nodes=new Array(nodelength)
var openones=''
}

function checkit(){
for (i=0 ; i <= nodelength ; i++){
if ((ns6&&foldercontentarray[i].style.display=='')||(ie4&&foldinglist[i].style.display==''))
openones=openones + " " + i
}
document.cookie=window.location.pathname+"="+openones
}

if (ns6||ie4)
window.onunload=checkit
//-->
</script>


</HTML>
------------------

darco9x2
02-04-2005, 12:07 AM
im not positive, but i think its cuz your using a list (li). i think it automatically adds a space.

atomix
02-04-2005, 01:07 PM
No... if I dont put it in a table and leave it centered then there is no space.. only when i try to left align in a table is there a space

darco9x2
02-04-2005, 09:53 PM
instead of a table, then could you use a frame? and then align? so there is no interference?