Il mio codice ora è così:
codice:
$("#four").click(function () {	
$.getJSON("data/four.json", function (obj, data) {
        $.each(obj, function (key, value) {
            $("#cont4 .txt4").append("<p class='done'>" + value.name + "</p>");
            $("#cont4 .txt4").append("<p class='done'>" + value.details + "</p>");
            $("#cont4 .txt4").append("<p class='done'>" + value.age + "</p>");
            $("#cont4 .txt4").append("<p class='done'>" + value.color + "</p>");
            for (var i = 0; i < value.images.length; i++) {
                $("#cont4 .pht4").append("<img class='done' src=" + value.images [i] + ">");	
			return (false);
				
            };
		});
	$("#section #coldx img").addClass(function(n){
            return "photo_" + 3;
        });	
	
});
vorrei che dopo che ha caricato la prima volta il contenuto, se clicco una seconda volta me lo fa vedere, ma non lo ripeta nuovamente, altrimenti si sballa la visualizzazione.
quindi detto in soldoni, vorrei che dopo che ha caricato la prima volta tutto il contenuto si possa procedere con un toggle o qualcosa del genere.

ho provato anche con l'if e hasClass, poichè ho aggiunto la classe done a tutti gli elementi che vengono caricati, ma non funziona, non controlla se la classe e presente e di conseguenza se clicco di nuovo sul link mi ricarica tutto sotto.
Scusami lo so che ti sto assillando, ma non riesco a trovare una soluzione.