Sponsor-Board.de

Normale Version: [jScrollPane] autoReinitialise
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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>:

PHP-Code:
$(function(){
    $(
'.scroll-pane').jScrollPane({autoReinitialisetruecontentWidth'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:

PHP-Code:
$(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

Versuch mal:

Code:
var api = $('.scroll-pane').jScrollPane({contentWidth: '0px'});


und nach dem laden:

Code:
api.reinitialise();

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... Tongue

PHP-Code:
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 Smile

Referenz-URLs