.html(data).fadeIn und ajax

grillfleisch

Erfahrenes Mitglied
Hallo,

ich habe eine jquery AJAX abfrage gebastelt womit ich DBeinträge einfügen möchte. Dies funktioniert auch soweit ganz gut. Aber ich hätte mal ein paar fragen.

Hier erstmal der Code:
Code:
<script language="javascript">
      $(document).ready( function() {
        
        var SQL_anz = "<?=$SQL_anz ?>";  //anzahl der datensätze
      	var anz = 2;
        var num = 2;						
      	$('form[name="ajax"]').submit(function(){
      												 
      		var text = $(this).serialize();
      		// ajax starten
      		$.ajax({
      			type: 'POST',
      			url: 'blog_abfrage.php?next='+escape(num),
      			data: text,
      			success: function(data) {
      			  $('#content').html(data, function () {
                $("#content").fadeIn(3000, function () {
                });
                return false;
              });
      				
              num=anz+num;
              //alert(num);
      				
              if(num > (SQL_anz/2+2)) {
                $('form[name="ajax"]').fadeOut('slow', function() {
                  // Animation complete.
                });
              }
      			}
      		});
      		return false;
      	});							
      });
      </script>

Also der AjaxRequest wird mit einem Klick auf nem Button gestartet und er holt mir immer nur 2Datensätze raus. Mit jedem klick erhöht sich der Datensatz um 2.

Ich hätte aber gern, dass von Anfang an die ersten zwei Datensätze vorhanden sind. Das geht wenn ich zB.

Code:
	$('form[name="ajax"]').submit(function(){
auskommentiere

Nur dann funktioniert das Ajax nicht mehr xD



Mein zweites Problem was ich gerne Lösen würde. Ich möchte das die Datensätze nicht plump aus der DB fallen und auf den Monitor geklatscht werden, sonder das sie faden.

Nur funktioniert das hier nicht so wie ich mir das vorstelle
Code:
 $('#content').html(data, function () {
                $("#content").fadeIn(3000, function () {
                });
                return false;
              });
oder
Code:
$('#content').html(data);
$('#content').fadeIn('slow');

oder anderes.. leider spuckt goole unter .html(data).fadeIn oder etc nichts brauchbars aus :(

danke fürs lesen im Vorraus.
 
Hallo,

also das letztere Problem habe ich nun gelöst.

HTML:
$.ajax({
  type: 'POST',
  url: 'blog_abfrage.php?next='+escape(num),
  data: text,
  success: function(data) {
    $("#content").fadeOut(100);
    $("#content").html(data);
    $("#content").fadeIn(500);

nur find ich es keine tolle Lösung und ich denke mal, dass ich das script so wie es jetzt ist und wie ich es gerne haben möchte nur löschen kann.
Da es jedesmal alle angeforderten Datensätze neu lädt und somit alles kurz weg ist und dann wieder kommt. mmh nicht so toll. wollte eigentlich immer nur nachladen, hat da jemand ne Idee oder einen Ansatz für mich?
 
Zurück