jQuery Scripte laufen nach Ajaxcall nicht mehr...

Maiskolben

New member
Hallo,

ich habe ein Problem mit diesem AjaxScript.

Code:
jQuery(document).ready(function() {
  var $mainContent = $(".main"),
    siteUrl = "http://" + top.location.host.toString(),
      url = 'entwicklung.elvividor.com';
    jQuery(document).delegate("a[href^='"+siteUrl+"']:not('.thumbs'):not('.togglebuttons'):not([href*=/wp-admin/]):not([href*=/wp-login.php]):not([href$=/feed/])", "click", function() {
      location.hash = this.pathname;
    return false;
    });
  jQuery("#searchform").submit(function(e) {
    location.hash = '?s=' + $("#s").val();
      e.preventDefault();
    });
  jQuery(window).bind('hashchange', function(){
  url = window.location.hash.substring(1);
    if (!url) {
      return;
    }
    url = url + " .main";
  $mainContent.animate({opacity: "0.5"}).html('<div id="preloader"></div>').load(url, function() {
      $mainContent.animate({opacity: "1"});
    });
  });
  jQuery(window).trigger('hashchange');
});

In meiner Wordpress-Seite habe ich eine Navigation für ein Portfolio. Die a Tags haben die Klasse .navi - und wenn ich diese Klicke, laden die Posts auch korrekt im dafür vorgesehenen Div. Soweit alles gut. Aber wenn nun der Ajax Call stattgefunden hat, laufen alle anderen JavaScripte nicht mehr, wie zB eine Thumbnailgalerie oder das Script von Malihu (Simple jQuery fullscreen image gallery). In der Konsole von FF werden auch keine Fehler angezeigt. Kann es sein, dass JavaScript nicht ausgeführt wird, wenn es über Ajax als Content geladen wird? Was muss ich tun, damit die Scripte alle laufen?

Für sich genommen funktioniert jedes Script einwandfrei, alle Bibliotheken sind sauber eingebunden und stören sich nicht gegenseitig! Ich weiß nicht weiter, wenn jemand helfen kann, wäre das großartig!

LG, Maiskolben

Zur Internetseite für die Live-Ansicht
 
Du suchst den Parameter: dataType: 'html'
= Returns HTML as plain text; included script tags are evaluated when inserted in the DOM.

Ja, ok. Na gut, wenn sie ausgewertet werden, ist das doch schön. Allerdings habe ich in dem Bereich, der als Wordpresspost geladen wird nur PHP Anweisungen die HTML ausgeben, wenn sie zum Client zurückgeschickt werden, keine JScripte, keine script-Tags. Im Quelltext alles richtig ausgegeben. Also daran kanns dann nicht liegen, richtig?
 
Aber es ist komisch, da ich das dynamische Laden von Content ja nur in einem bestimmten DIV realisiere und nicht die komplette Seite, sodass der Header ja "unberührt" bleibt. Das AjaxScript wird im Header eingebunden, ebenso wie die anderen Scripte!
 
Das widerspricht dem, was du da geschrieben hast, dort steht "JS .. über Ajax als Content geladen" - darüber spreche ich.
Wenn du davon sprichst, dass nach dem laden von AJAX Inhalt dein ürsprüngliches Skript nicht geht, dann muss das an etwas anderen liegen. Aber dafür überfordert mich jetzt der zeitliche Aufwand auf deiner Seite den Fehler zu suchen.
 
Also ich habe in der Konsole zumindest keine Fehler.

Edit: einen beim aktualisieren in den Kategorien vom Portfolio: TypeError: obj is null jQuery.Malihu.js:292
 
Zuletzt bearbeitet:
Hallo, der Fehler ist beseitigt, nun zeigt er mir einen Fehler im jQuery.min.js an.
TypeError: f.easing[i.animatedProperties[this.prop]] is not a function
Den krieg ich aber nicht weg... Weder wenn ich jQuery im Header lade, noch im Footer. Hast Du eine Idee dazu?
 
Sieht nach einem Parameterfehler aus.
Wie lautet denn der Aufruf von easing? Und hast du das Plugin auch eingebunden? jQuery reicht dafür nicht.
 
Ich weiß es nicht, ich weiß nur, dass ich jQuery als Bibliothek für das Galeriescript von Malihu brauche und auch für die Fade/Toggle Geschichten für die Navigation. Binde alles über die Google Api ein.
 
Ich weiß es nicht, ich weiß nur, dass ich jQuery als Bibliothek für das Galeriescript von Malihu brauche und auch für die Fade/Toggle Geschichten für die Navigation. Binde alles über die Google Api ein.
Aber was müsste denn passieren, damit du es weißt? Ist das ein Berechtigungsproblem?
Du kannst doch nicht etwas entwickeln, von dem du die wesentlichen Dinge nicht weißt!?
 
Zurück
Oben