Good trick, will reuse, thanks ^^ Michel Belleville
2009/11/4 Richard D. Worth <rdwo...@gmail.com> > See > > > http://www.learningjquery.com/2008/10/1-way-to-avoid-the-flash-of-unstyled-content > > <http://www.learningjquery.com/2008/10/1-way-to-avoid-the-flash-of-unstyled-content>- > Richard > > > On Wed, Nov 4, 2009 at 10:21 AM, Newbie <hjohn...@geolearning.com> wrote: > >> I am working on an accordian side navigation jquery piece and I am >> unable to get it to operate exactly how I want. >> >> The menu was originally designed by Roshan Bhattarai and can be viewed >> at http://roshanbh.com.np/2008/06/accordion-menu-using-jquery.html >> >> The original design does not degrade well since the div containing the >> drop down menu information is set to display:none using CSS- but >> another forum poster suggested that the css selector be removed and >> the hiding function be set in the jquery. >> >> This is the code that was added to perform this function: >> >> $("div.menu_body").hide(); >> >> The code works to some extent, however the div does appear on the page >> for a split second on refresh or on page load and then diseappears. >> >> I am thinking I either did something wrong, am missing something, or >> could put that bit of code somewhere else in the script for the div to >> truly be hidden until the visible header is clicked. >> >> The whole point of adding this code is so the accordian menu degrades >> gracefully- if there is another way for the entire menu to be viewable >> with javascript turned off, please detail the steps. >> >> I have downloaded the newest version of jquery. >> >> Here is the entire script for the menu. >> >> <script type="text/javascript" language="javascript" src="/javascript/ >> jquery.js"></script> >> <script type="text/javascript"> >> <!--//---------------------------------+ >> // Developed by Roshan Bhattarai >> // Visit http://roshanbh.com.np for this script and more. >> // This notice MUST stay intact for legal use >> // ---------------------------------> >> $(document).ready(function() >> {$("div.menu_body").hide(); >> //slides the element with class "menu_body" when paragraph with >> class >> "menu_head" is clicked >> $("#firstpane p.menu_head").click(function() >> { >> $(this).css({backgroundImage:"url(down.png)"}).next >> ("div.menu_body").slideToggle(300).siblings("div.menu_body").slideUp >> ("slow"); >> $(this).siblings().css({backgroundImage:"url(left.png)"}); >> }); >> //slides the element with class "menu_body" when mouse is over the >> paragraph >> $("#secondpane p.menu_head").mouseover(function() >> { >> $(this).css({backgroundImage:"url(down.png)"}).next >> ("div.menu_body").slideDown(500).siblings("div.menu_body").slideUp >> ("slow"); >> $(this).siblings().css({backgroundImage:"url(left.png)"}); >> }); >> }); >> </script> >> >> The site is on a private server behind a firewall so I cannot share >> the site but I can provide as much information as possible to solve >> this issue. >> >> An example of that preload or "flashing" upon refresh of the page with >> this type of code is viewable on this website: >> http://docs.jquery.com/Effects/hide - If you view the demo where it >> stated "Click to hide me too" and continue to watch that line will >> refreshing the page, you will see the hidden information for a split >> second and then it will hide. I am wondering and trying to find a way >> to prevent that flash of hidden information to be viewable at all. >> > >