inherit
164980
0
Oct 11, 2012 23:21:29 GMT -8
Tohsaka Rin
Why do men keep falling into my residence? I can collect on the damage insurance, right?
602
March 2011
lunacticinferno
|
Post by Tohsaka Rin on Sept 4, 2013 17:36:36 GMT -8
bump..
|
|
inherit
164980
0
Oct 11, 2012 23:21:29 GMT -8
Tohsaka Rin
Why do men keep falling into my residence? I can collect on the damage insurance, right?
602
March 2011
lunacticinferno
|
Post by Tohsaka Rin on Sept 9, 2013 19:28:06 GMT -8
bump
|
|
inherit
164980
0
Oct 11, 2012 23:21:29 GMT -8
Tohsaka Rin
Why do men keep falling into my residence? I can collect on the damage insurance, right?
602
March 2011
lunacticinferno
|
Post by Tohsaka Rin on Sept 11, 2013 14:44:14 GMT -8
bump
|
|
Former Member
inherit
guest@proboards.com
131621
0
May 16, 2024 15:07:09 GMT -8
Former Member
0
January 1970
Former Member
|
Post by Former Member on Sept 12, 2013 22:04:41 GMT -8
bump - tabs in a profile would be very useful!
|
|
inherit
Official Code Helper
65613
0
1
May 11, 2024 14:19:23 GMT -8
Chris
"'Oops' is the sound we make when we improve"
8,881
December 2005
horace
|
Post by Chris on Sept 14, 2013 10:36:42 GMT -8
The problem is there are numerous elements sharing the exact same ID and an ID should be unique to an element, no other element should be sharing it. Try replacing this code code:<script type="text/javascript">
var mytabs=new ddtabcontent("datatabs") //enter ID of Tab Container mytabs.setpersist(true) //toogle persistence of the tabs' state mytabs.setselectedClassTarget("link") //"link" or "linkparent" mytabs.init()
</script>
with this code:<script type="text/javascript">
$('ul.shadetabs').each(function(i,e){ var tabContainer = $(this), post = tabContainer.closest('tr.item'), postID = post.attr('id').split('-')[1], myTabs; //assign each miniprofile tab a unique ID else only first will operate tabContainer.attr('id', tabContainer.attr('id') + postID); //do same for tab contents (an ID MUST be unique on a page, no two elements should be sharing one) tabContainer.find('li a[rel]').each(function(j,f){ var rel = $(this).attr('rel'); $(this).attr('rel',rel+postID); $('#' + rel,tabContainer.closest('.mini-profile')).attr('id',rel+postID) }) mytabs = new ddtabcontent(tabContainer.attr('id')) //enter ID of Tab Container mytabs.setpersist(false) //toogle persistence of the tabs' state mytabs.setselectedClassTarget("link") //"link" or "linkparent" mytabs.init() })
</script>
I would also recommend not enabling persistence since it uses cookies (disabled in replacement). With every mini-profile getting its own tab you'll be getting multiple cookies for every mini-profile you view which will quickly become unruly and eventually lead to a HTTP 400 errors making you unable to even load a page on the forum until cookies get cleared. Every cookie set to a domain is sent with every communication sent by your browser to that domain. When the cookies get to be too much the server at that domain will balk and issue a 400 or similar error.
|
|
Former Member
inherit
guest@proboards.com
131621
0
May 16, 2024 15:07:09 GMT -8
Former Member
0
January 1970
Former Member
|
Post by Former Member on Sept 14, 2013 16:39:39 GMT -8
So if persistence is not enabled, Chris, this problem will not occur? And is that the entirety of the tabs code, to be put into the mini-profile Template? I only ask because the original author obviously has a version of the code already and I would also like to use the tab code and want to ensure there isn't anything else I need (that the author already has) in order to use it myself.
|
|
inherit
Official Code Helper
65613
0
1
May 11, 2024 14:19:23 GMT -8
Chris
"'Oops' is the sound we make when we improve"
8,881
December 2005
horace
|
Post by Chris on Sept 14, 2013 17:01:11 GMT -8
So if persistence is not enabled, Chris, this problem will not occur? And is that the entirety of the tabs code, to be put into the mini-profile Template? I only ask because the original author obviously has a version of the code already and I would also like to use the tab code and want to ensure there isn't anything else I need (that the author already has) in order to use it myself. The persistence issue has to do with a massive amount of cookies that is going to be generated as I mentioned in my last owl. Tohsaka Rin is also using the following code from Dynamic Drive as well as what I assume to be modifications to the miniprofile layout (which would explain why each miniprofile shared the same element IDs) As you can see it's a pretty old code but still functional, you might be able to find a more up-to-date version although I didn't look. The constructor in that code is now called for each mini-profile tab making each act (and save cookies) independently as the author requested. code:<script type="text/javascript">
//** Tab Content script v2.0- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com) //** Updated Oct 7th, 07 to version 2.0. Contains numerous improvements: // -Added Auto Mode: Script auto rotates the tabs based on an interval, until a tab is explicitly selected // -Ability to expand/contract arbitrary DIVs on the page as the tabbed content is expanded/ contracted // -Ability to dynamically select a tab either based on its position within its peers, or its ID attribute (give the target tab one 1st) // -Ability to set where the CSS classname "selected" get assigned- either to the target tab's link ("A"), or its parent container //** Updated Feb 18th, 08 to version 2.1: Adds a "tabinstance.cycleit(dir)" method to cycle forward or backward between tabs dynamically //** Updated April 8th, 08 to version 2.2: Adds support for expanding a tab using a URL parameter (ie: http://mysite.com/tabcontent.htm?tabinterfaceid=0)
////NO NEED TO EDIT BELOW////////////////////////
function ddtabcontent(tabinterfaceid){ this.tabinterfaceid=tabinterfaceid //ID of Tab Menu main container this.tabs=document.getElementById(tabinterfaceid).getElementsByTagName("a") //Get all tab links within container this.enabletabpersistence=true this.hottabspositions=[] //Array to store position of tabs that have a "rel" attr defined, relative to all tab links, within container this.currentTabIndex=0 //Index of currently selected hot tab (tab with sub content) within hottabspositions[] array this.subcontentids=[] //Array to store ids of the sub contents ("rel" attr values) this.revcontentids=[] //Array to store ids of arbitrary contents to expand/contact as well ("rev" attr values) this.selectedClassTarget="link" //keyword to indicate which target element to assign "selected" CSS class ("linkparent" or "link") }
ddtabcontent.getCookie=function(Name){ var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair if (document.cookie.match(re)) //if cookie found return document.cookie.match(re)[0].split("=")[1] //return its value return "" }
ddtabcontent.setCookie=function(name, value){ document.cookie = name+"="+value+";path=/" //cookie value is domain wide (path=/) }
ddtabcontent.prototype={
expandit:function(tabid_or_position){ //PUBLIC function to select a tab either by its ID or position(int) within its peers this.cancelautorun() //stop auto cycling of tabs (if running) var tabref="" try{ if (typeof tabid_or_position=="string" && document.getElementById(tabid_or_position).getAttribute("rel")) //if specified tab contains "rel" attr tabref=document.getElementById(tabid_or_position) else if (parseInt(tabid_or_position)!=NaN && this.tabs[tabid_or_position].getAttribute("rel")) //if specified tab contains "rel" attr tabref=this.tabs[tabid_or_position] } catch(err){alert("Invalid Tab ID or position entered!")} if (tabref!="") //if a valid tab is found based on function parameter this.expandtab(tabref) //expand this tab },
cycleit:function(dir, autorun){ //PUBLIC function to move foward or backwards through each hot tab (tabinstance.cycleit('foward/back') ) if (dir=="next"){ var currentTabIndex=(this.currentTabIndex<this.hottabspositions.length-1)? this.currentTabIndex+1 : 0 } else if (dir=="prev"){ var currentTabIndex=(this.currentTabIndex>0)? this.currentTabIndex-1 : this.hottabspositions.length-1 } if (typeof autorun=="undefined") //if cycleit() is being called by user, versus autorun() function this.cancelautorun() //stop auto cycling of tabs (if running) this.expandtab(this.tabs[this.hottabspositions[currentTabIndex]]) },
setpersist:function(bool){ //PUBLIC function to toggle persistence feature this.enabletabpersistence=bool },
setselectedClassTarget:function(objstr){ //PUBLIC function to set which target element to assign "selected" CSS class ("linkparent" or "link") this.selectedClassTarget=objstr || "link" },
getselectedClassTarget:function(tabref){ //Returns target element to assign "selected" CSS class to return (this.selectedClassTarget==("linkparent".toLowerCase()))? tabref.parentNode : tabref },
urlparamselect:function(tabinterfaceid){ var result=window.location.search.match(new RegExp(tabinterfaceid+"=(\\d+)", "i")) //check for "?tabinterfaceid=2" in URL return (result==null)? null : parseInt(RegExp.$1) //returns null or index, where index (int) is the selected tab's index },
expandtab:function(tabref){ var subcontentid=tabref.getAttribute("rel") //Get id of subcontent to expand //Get "rev" attr as a string of IDs in the format ",john,george,trey,etc," to easily search through var associatedrevids=(tabref.getAttribute("rev"))? ","+tabref.getAttribute("rev").replace(/\s+/, "")+"," : "" this.expandsubcontent(subcontentid) this.expandrevcontent(associatedrevids) for (var i=0; i<this.tabs.length; i++){ //Loop through all tabs, and assign only the selected tab the CSS class "selected" this.getselectedClassTarget(this.tabs[i]).className=(this.tabs[i].getAttribute("rel")==subcontentid)? "selected" : "" } if (this.enabletabpersistence) //if persistence enabled, save selected tab position(int) relative to its peers ddtabcontent.setCookie(this.tabinterfaceid, tabref.tabposition) this.setcurrenttabindex(tabref.tabposition) //remember position of selected tab within hottabspositions[] array },
expandsubcontent:function(subcontentid){ for (var i=0; i<this.subcontentids.length; i++){ var subcontent=document.getElementById(this.subcontentids[i]) //cache current subcontent obj (in for loop) subcontent.style.display=(subcontent.id==subcontentid)? "block" : "none" //"show" or hide sub content based on matching id attr value } },
expandrevcontent:function(associatedrevids){ var allrevids=this.revcontentids for (var i=0; i<allrevids.length; i++){ //Loop through rev attributes for all tabs in this tab interface //if any values stored within associatedrevids matches one within allrevids, expand that DIV, otherwise, contract it document.getElementById(allrevids[i]).style.display=(associatedrevids.indexOf(","+allrevids[i]+",")!=-1)? "block" : "none" } },
setcurrenttabindex:function(tabposition){ //store current position of tab (within hottabspositions[] array) for (var i=0; i<this.hottabspositions.length; i++){ if (tabposition==this.hottabspositions[i]){ this.currentTabIndex=i break } } },
autorun:function(){ //function to auto cycle through and select tabs based on a set interval this.cycleit('next', true) },
cancelautorun:function(){ if (typeof this.autoruntimer!="undefined") clearInterval(this.autoruntimer) },
init:function(automodeperiod){ var persistedtab=ddtabcontent.getCookie(this.tabinterfaceid) //get position of persisted tab (applicable if persistence is enabled) var selectedtab=-1 //Currently selected tab index (-1 meaning none) var selectedtabfromurl=this.urlparamselect(this.tabinterfaceid) //returns null or index from: tabcontent.htm?tabinterfaceid=index this.automodeperiod=automodeperiod || 0 for (var i=0; i<this.tabs.length; i++){ this.tabs[i].tabposition=i //remember position of tab relative to its peers if (this.tabs[i].getAttribute("rel")){ var tabinstance=this this.hottabspositions[this.hottabspositions.length]=i //store position of "hot" tab ("rel" attr defined) relative to its peers this.subcontentids[this.subcontentids.length]=this.tabs[i].getAttribute("rel") //store id of sub content ("rel" attr value) this.tabs[i].onclick=function(){ tabinstance.expandtab(this) tabinstance.cancelautorun() //stop auto cycling of tabs (if running) return false } if (this.tabs[i].getAttribute("rev")){ //if "rev" attr defined, store each value within "rev" as an array element this.revcontentids=this.revcontentids.concat(this.tabs[i].getAttribute("rev").split(/\s*,\s*/)) } if (selectedtabfromurl==i || this.enabletabpersistence && selectedtab==-1 && parseInt(persistedtab)==i || !this.enabletabpersistence && selectedtab==-1 && this.getselectedClassTarget(this.tabs[i]).className=="selected"){ selectedtab=i //Selected tab index, if found } } } //END for loop if (selectedtab!=-1) //if a valid default selected tab index is found this.expandtab(this.tabs[selectedtab]) //expand selected tab (either from URL parameter, persistent feature, or class="selected" class) else //if no valid default selected index found this.expandtab(this.tabs[this.hottabspositions[0]]) //Just select first tab that contains a "rel" attr if (parseInt(this.automodeperiod)>500 && this.hottabspositions.length>1){ this.autoruntimer=setInterval(function(){tabinstance.autorun()}, this.automodeperiod) } } //END int() function
} //END Prototype assignment
</script>
|
|
inherit
164980
0
Oct 11, 2012 23:21:29 GMT -8
Tohsaka Rin
Why do men keep falling into my residence? I can collect on the damage insurance, right?
602
March 2011
lunacticinferno
|
Post by Tohsaka Rin on Sept 15, 2013 14:42:33 GMT -8
Well that was the only code that I tested, and the only one that even seemed to work with proboards at all - hence I tested it out and it semi-worked for the purpose intended. It does not function how I want it, but I cannot just remove it without there being a proper code to replace it.
So far I have just been told to keep bumping it in hopes that someone has time to help construct a REAL code that will work with this system.
Right now the only code that had been worked on which was testing out "tabs" was the one wormopolis created for "taps on posts". Essentially it would be the same thing, just in mini-profiles.
Again, the code I have is pretty much just a test to see if tabs were even possible - filling the spot until something was actually made.
|
|
inherit
Official Code Helper
65613
0
1
May 11, 2024 14:19:23 GMT -8
Chris
"'Oops' is the sound we make when we improve"
8,881
December 2005
horace
|
Post by Chris on Sept 15, 2013 16:39:18 GMT -8
Well that was the only code that I tested, and the only one that even seemed to work with proboards at all - hence I tested it out and it semi-worked for the purpose intended. It does not function how I want it, but I cannot just remove it without there being a proper code to replace it. So far I have just been told to keep bumping it in hopes that someone has time to help construct a REAL code that will work with this system. Right now the only code that had been worked on which was testing out "tabs" was the one wormopolis created for "taps on posts". Essentially it would be the same thing, just in mini-profiles. Again, the code I have is pretty much just a test to see if tabs were even possible - filling the spot until something was actually made. What I said about the age or suitability of the code was in response to a question posed by ₪» ⅀ ƪ Ƒ «₪, the code still works and I gave you a replacement for your footer portion in this post that should address the problem you highlighted in red. I never said to remove the code otherwise I wouldn't have gone through the trouble of revising it especially since it depends on that dynamic drive code you have remotely hosted. If you want to get rid of the dynamic drive code and use the code that already comes built-in with V5 you can do that as well, no need to wait for a REAL code, it's been there all along. For example $('.mini-profile').each(function(i,e){ $('.shadetabs',this).find('a').each(function(){$(this).attr("href","#"+$(this).attr("rel"))}) $.tabinate({ tabs: $('.shadetabs',this), content: $('.tabcontent',this).wrapAll('<div />').parent(), useHash: false }) }) If you wish to pursue that route instead then let me know but at least test the replacement code I gave you in the other post since I went through the trouble of creating it.
|
|
inherit
164980
0
Oct 11, 2012 23:21:29 GMT -8
Tohsaka Rin
Why do men keep falling into my residence? I can collect on the damage insurance, right?
602
March 2011
lunacticinferno
|
Post by Tohsaka Rin on Sept 15, 2013 21:25:57 GMT -8
I can get on that tomorrow. Been busy lately with setting up quite a long move offline. As always, I appreciate the help you guys give and will test this out when I wake up. (That, and I forgot where I put some of this code at so I need to get re-familiar with it again.)
Thank you.
Update: I swapped out the code in the bottom of my forum wrapper with what was asked, however the tabs no longer function. The additional /div was removed, if that what was suppose to be done, and placed at the bottom (before the ending /if statement). The data from the first tab does stay displayed but switching tabs, or displaying the data for the second one, does not. It probably has to do with the way that they are labeled.
Current ID's: <div id="tcontent1" class="tabcontent"> <div id="tcontent2" class="tabcontent">
Stuck with the similar problem as before.
(I hate counting div tags....)
The bottom now looks like this:
</div> </div> </div> </div> {/if} </div>
|
|
inherit
Official Code Helper
65613
0
1
May 11, 2024 14:19:23 GMT -8
Chris
"'Oops' is the sound we make when we improve"
8,881
December 2005
horace
|
Post by Chris on Sept 16, 2013 2:05:24 GMT -8
If it helps, the code I suggested replacing appears to have been added to the bottom of the forum wrapper layout not global footer
As for the mini-profile layout, it looks like this is basically what you have
<ul class="shadetabs" id="datatabs"> <li><a class="selected" rel="tcontent1" href="#">Basic Info</a></li> <li><a rel="tcontent2" href="#">Battle Data</a></li> </ul>
<div> <div class="tabcontent" id="tcontent1"> <!-- content for tab 1 here --> </div> </div> <div class="tabcontent" id="tcontent2"> <!-- content for tab 2 here --> </div>
That red </div> is wrapping only the first content but should be wrapping all of the .tabcontent divs. This is unimportant if using the dynamic drive code but if you switch to the built-in V5 tab code then it will matter. The code in my last post fixes this before calling tabinate but it would be best to fix in the template itself (the code would have to change obviously if you make that change).
As for persistence, that feature basically remembers the last tab you had open so when you go back to the page the tab is pre-selected. That is not a problem if you have one or two areas on the page that have been "tabified" but when every mini-profile on the page has been "tabified" then you're looking at 15 cookies per page (assuming 15 posts per page) and it gets worse each page you visit, you could literally end up with thousands of cookies in a very short period of time clogging the communication between your browser and Proboards.
The built-in Proboards "tabinator" doesn't have a persistence feature unless you count the ability to use URL hashes for tab selection as persistence. A Proboards specific edit to that dynamic drive code could improve it to remember on a per user basis rather than per mini-profile but that would still be a lot of cookies. An even better solution would be to deal on a per tab basis meaning when the page loads if you had tab#3 selected then all mini-profiles would have tab#3 selected until you chose a new tab. The best solutions would involve moving to localStorage and avoid the cookie problem altogether or if one is feeling really ambitious perhaps rewrite it as a plugin and use V5 keys to remember tab position so that all devices could now be synced in the cloud.
|
|
inherit
164980
0
Oct 11, 2012 23:21:29 GMT -8
Tohsaka Rin
Why do men keep falling into my residence? I can collect on the damage insurance, right?
602
March 2011
lunacticinferno
|
Post by Tohsaka Rin on Sept 16, 2013 13:31:35 GMT -8
Posted an update above.
|
|
inherit
Official Code Helper
65613
0
1
May 11, 2024 14:19:23 GMT -8
Chris
"'Oops' is the sound we make when we improve"
8,881
December 2005
horace
|
Post by Chris on Sept 16, 2013 14:52:16 GMT -8
I can get on that tomorrow. Been busy lately with setting up quite a long move offline. As always, I appreciate the help you guys give and will test this out when I wake up. (That, and I forgot where I put some of this code at so I need to get re-familiar with it again.) Thank you. Update: I swapped out the code in the bottom of my forum wrapper with what was asked, however the tabs no longer function. The additional /div was removed, if that what was suppose to be done, and placed at the bottom (before the ending /if statement). The data from the first tab does stay displayed but switching tabs, or displaying the data for the second one, does not. It probably has to do with the way that they are labeled. Current ID's:<div id="tcontent1" class="tabcontent"> <div id="tcontent2" class="tabcontent"> Stuck with the similar problem as before. (I hate counting div tags....) The bottom now looks like this: </div> </div> </div> </div> {/if} </div> You misunderstood, what I said was to move the </div> down not remove it It usually help if you start indenting your HTML so you can see at a glance if anything is off rather than having to "count divs", HTML has a specific structure and if you deviate from that structure the browser may try to help but more often it simply fails to figure out what you are trying to accomplish if it is all wrong. <ul class="shadetabs" id="datatabs"> <li><a class="selected" rel="tcontent1" href="#">Basic Info</a></li> <li><a rel="tcontent2" href="#">Battle Data</a></li> </ul>
<div> <div class="tabcontent" id="tcontent1"> <!-- content for tab 1 here --> </div> </div> <====== Move this down ... <div class="tabcontent" id="tcontent2"> <!-- content for tab 2 here --> </div> </div> <====== ... to here so both contents are wrapped in it I'm not quite sure what happened here but the code I said needed to be replaced is still sitting there untouched You'll also note that the </body> tag is red in the above pic and that's because the opening <body> tag is simply missing as shown in the pic below. I'd suggest going back into wrapper layout and putting it back. The fact that the body tag is missing means among other things that CSS file and that JS file for the tabs won't load because they are now considered illegally outside a <body> or <head> tag
|
|
inherit
164980
0
Oct 11, 2012 23:21:29 GMT -8
Tohsaka Rin
Why do men keep falling into my residence? I can collect on the damage insurance, right?
602
March 2011
lunacticinferno
|
Post by Tohsaka Rin on Sept 16, 2013 16:52:15 GMT -8
^I removed it from where you stated, and placed it before {/if} like I showed in the post above. Should be 4 </div>'s before {/if} like you also shown in your post. I should have stated it was "moved" not "removed". Hahaha~
^ On my end, I have your code in the forum wrapper, the </body> tag is not red (it is green) and the <body> tag is this:
<body onload="updateClock(); setInterval('updateClock()', 1000 )" >
You said you could not find the code in the forum wrapper, but this is what is there:
<script type="text/javascript">
$('ul.shadetabs').each(function(i,e){ var tabContainer = $(this), post = tabContainer.closest('tr.item'), postID = post.attr('id').split('-')[1], myTabs; //assign each miniprofile tab a unique ID else only first will operate tabContainer.attr('id', tabContainer.attr('id') + postID); //do same for tab contents (an ID MUST be unique on a page, no two elements should be sharing one) tabContainer.find('li a[rel]').each(function(j,f){ var rel = $(this).attr('rel'); $(this).attr('rel',rel+postID); $('#' + rel,tabContainer.closest('.mini-profile')).attr('id',rel+postID) }) mytabs = new ddtabcontent(tabContainer.attr('id')) //enter ID of Tab Container mytabs.setpersist(false) //toogle persistence of the tabs' state mytabs.setselectedClassTarget("link") //"link" or "linkparent" mytabs.init() })
</script> </body> </html>
Very confusing why/what is showing up for you.
|
|
inherit
Official Code Helper
65613
0
1
May 11, 2024 14:19:23 GMT -8
Chris
"'Oops' is the sound we make when we improve"
8,881
December 2005
horace
|
Post by Chris on Sept 16, 2013 17:59:13 GMT -8
^I removed it from where you stated, and placed it before {/if} like I showed in the post above. Should be 4 </div>'s before {/if} like you also shown in your post. I should have stated it was "moved" not "removed". Hahaha~ ^ On my end, I have your code in the forum wrapper, the </body> tag is not red (it is green) and the <body> tag is this: <body onload="updateClock(); setInterval('updateClock()', 1000 )" > You said you could not find the code in the forum wrapper, but this is what is there: <script type="text/javascript"> $('ul.shadetabs').each(function(i,e){ var tabContainer = $(this), post = tabContainer.closest('tr.item'), postID = post.attr('id').split('-')[1], myTabs; //assign each miniprofile tab a unique ID else only first will operate tabContainer.attr('id', tabContainer.attr('id') + postID); //do same for tab contents (an ID MUST be unique on a page, no two elements should be sharing one) tabContainer.find('li a[rel]').each(function(j,f){ var rel = $(this).attr('rel'); $(this).attr('rel',rel+postID); $('#' + rel,tabContainer.closest('.mini-profile')).attr('id',rel+postID) }) mytabs = new ddtabcontent(tabContainer.attr('id')) //enter ID of Tab Container mytabs.setpersist(false) //toogle persistence of the tabs' state mytabs.setselectedClassTarget("link") //"link" or "linkparent" mytabs.init() }) </script> </body> </html> Very confusing why/what is showing up for you. Confusion is because the links you posted at the start of this thread point to http://typern-moe.freemessageboards.com/ yet you've been making changes to http://typern-moe.proboards.com/. Also remember that I am seeing what the browser sees not what you see when you're poking around in admin panel. I would not be seeing any {foreach} or {/if} or any other templating coding. On the proboards.com forum I do now see the code I gave but the body tag is still missing. If you made a mistake editing that body tag then the browser will ignore it which is probably why I am not seeing it. The problem still remains, both the Dynamic Drive CSS and JS files for the tabs fail to load because of the missing body tag. Post your forum wrapper layout if you need help correcting it. Both sites are a nightmare to load by the way, too many setTimeout calls and even worse a few setIntervals and judging by the body tag you just posted another code running once per second is now in the mix (once the body gets fixed)
|
|