[jScrollPane] autoReinitialise - Freddy - 21.12.2014 12:35
Schönen Mittag zusammen,
ich habe folgendes Problem mit jScrollPane und hoffe, dass mir hier jemand helfen kann, da ich nicht mehr weiter komme.
Ich habe auf meiner Testseite bisher 2 div.scroll-pane, wobei das eine einwandfrei funktioniert, das andere wiederum gar nicht.
Im <head>:
$(function(){ $('.scroll-pane').jScrollPane({autoReinitialise: true, contentWidth: '0px'}); });
In einem div.scroll-pane ist Teamspeak per tsviewer.com eingebunden, sprich, nachdem die Seite geladen hat, wird erst der Teamspeak hineingeladen und jScrollPane reinitialisiert sich automatisch, wie in den Einstellungen festgelegt.
Nun habe ich ein weiteres .scroll-pane, in das Chatnachrichten geladen werden:
$(document).ready(function(){ $("body").on("submit", "#chatbox-form", function(e){ e.preventDefault();
$.post($(this).attr('action'), $(this).serialize(), function(response){ if(response['success']){ $("#chatbox-form #message").val(''); $("#chatbox-form .chars-left").html($("#chatbox-form #message").attr('maxlength')+' / '+$("#chatbox-form #message").attr('maxlength'));
loadMessages(); } }); }); [...] function loadMessages(){ //$("#chatbox-items").jScrollPane().data().jsp.destroy();
$("#chatbox-items").load('http://localhost/blackdivision.de/public/chatbox?limit=15', function(){ //$("#chatbox-items").jScrollPane(); }); }
// load messages on document ready loadMessages();
// load messages all X seconds setInterval(function(){loadMessages();}, 15000); });
Wenn ich dem div#chatbox-items die Klasse .scroll-pane wegnehme und in der JavaScript-Funktion loadMessages() die momentan auskommentierten 2 Zeilen wieder mit rein nehme, funktioniert es, allerdings sehr unschön, da erst der komplette Inhalt über div#chatbox-items hinausgeht und mit Verzögerung jScrollPane reinitialisiert.
Ich hatte das allergleiche Problem schon mal, ich komme aber einfach nicht mehr darauf, wie ich es gelöst habe -.-
Damit ihr euch selbst ein Bild machen könnt: [Link: Registrierung erforderlich]
Benutzer: [email protected] / Passwort: passwort
zum Testen der Chatbox.
MfG
Freddy
RE: [jScrollPane] autoReinitialise - Aaron - 21.12.2014 13:20
Versuch mal:
var api = $('.scroll-pane').jScrollPane({contentWidth: '0px'});
und nach dem laden:
RE: [jScrollPane] autoReinitialise - Freddy - 21.12.2014 13:38
Hi AAron,
vielen Dank für Deine Antwort, leider hat es mit deinem Ansatz nicht funktioniert, dafür habe ich die Lösung gerade selbst gefunden... 
function loadMessages(){ var pane = $('#chatbox-items') pane.jScrollPane({autoReinitialise:true}); var chatboxItems = pane.data('jsp').getContentPane();
chatboxItems.load('{{ URL::route('chatbox.index', ['limit'=>'15']) }}'); }
...natürlich von der offiziellen Seite, ein Beispiel...
MfG
Freddy
//kann geschlossen werden
|