without the corresponding html, it is hard to tell if this answer is completely correct. however, think about trying this approach, where these few lines replace ALL of your code:
$(function() { $('div').click(function() { $('div').hide("slow"); // first, for simplification hide any open divs (change specificity for your needs) $(this).show("slow"); // second, open the selected div }); }); On Jan 12, 8:17 am, tabu <ces...@googlemail.com> wrote: > Hello, > I'm new to javascript and jquery library, I have script running which > functions fine only problem I have with it is that I want to close > other divs when another is selected, I guess like an accordion style > but using the toggle, slide fade-in functions. The problem I have is > that once each button that controls the relevant div is clicked once, > on subsequent clicks it requires double clicking to show the > containing div, where i want a single. > I imagine it is a very simple solution but I have tried a number of > ways without success, any help would be great, thanks > > Here is the script Im using: > > $(document).ready(function() { > $('div.me').hide(); > $('div.who').toggle(function() { > $(this).siblings('div.me').fadeIn(900); > $('div.view').hide(); > $('div.callme').hide(); > $('div.imagesview').hide(); > }, function() { > $(this).siblings('div.me').fadeOut(500); > return false; > > }); > > }); > > $(document).ready(function() { > > $('div.view').hide(); > $('div.slide').toggle(function() { > $(this).siblings('div.view').fadeIn(900); > $('div.me').hide(); > $('div.callme').hide(); > $('div.imagesview').hide(); > }, function() { > $(this).siblings('div.view').fadeOut(500); > return false; > > }); > }); > > $(document).ready(function() { > $('div.showwork').hide(); > $('div.work').toggle(function() { > $(this).siblings('div.showwork').fadeIn(900); > }, function() { > $(this).siblings('div.showwork').fadeOut(500); > return false; > > }); > }); > > $(document).ready(function() { > $('div.callme').hide(); > $('div.call').toggle(function() { > $(this).siblings('div.callme').fadeIn(900); > $('div.view').hide(); > $('div.me').hide(); > $('div.imagesview').hide(); > }, function() { > $(this).siblings('div.callme').fadeOut(500); > return false; > > }); > }); > > $(document).ready(function() { > $('div.imagesview').hide(); > $('div.images').toggle(function() { > $(this).siblings('div.imagesview').fadeIn(900); > $('div.view').hide(); > $('div.me').hide(); > $('div.callme').hide(); > }, function() { > $(this).siblings('div.imagesview').fadeOut(500); > return false; > > }); > });