On Nov 10, 1:08 pm, Scott Sauyet <scott.sau...@gmail.com> wrote: > There would be something to be said for making this a little more > generic so that you would generate a similar function for each JSON > url you want to use. That's left as an exercise for the reader.
Or for me! :-) This simply makes more sense: function getData(url) { var storedData; return function(callback) { if (storedData) callback(storedData) else $.getJSON(url, function(data) { storedData = data; callback(storedData); }); }; }; var ppData = getData("/dev/home/pp.json"); var otherData = getData("/path/to/other/json"); ppData(function(data) { $('.pomonaPeople').css('background', 'url(' + data.items [0].background + ' )' ); $('.pomonaPeople').append(data.items[0].content); $('.pomonaPeople .loading').fadeOut(FADE); }); var ppButton = $('#pp-nav ul li a'); ppButton.click( function(event) { event.preventDefault(); var aIndex = $(this).attr('href'); var destination = $('.pomonaPeople'); destination.append('<div class="loading"></div>'); ppData(function(data){ destination.css('background', 'url(' + data.items [aIndex].background + ' )' ); destination.find('.loading').fadeOut(FADE); }); }); Cheers, -- Scott