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

Reply via email to