2010-01-20 2 views
0

Je suis en train de réécrire une classe d'aide qui a été construite à l'origine de Scriptaculous. Je passe à jQuery - cependant, je suis coincé sur quelques lignes, que j'ai besoin d'aide (voir ci-dessous): Note: le code javascript est entrecoupé de variables php (les sigils étant un donneur mort)comment modifier ces lignes de javascript de scriptaculous à la syntaxe jQuery

Déclaration

'new Insertion.Before(\'' . $updateContainer . '\', new Element(\'div\', {\'id\': \'' . $updateContainer . '_loading\', \'class\': \'' . $spinnerClass .'\'})); $(\'' . $updateContainer . '_loading\').innerHTML="<h4>Loading ...</h4>";', 

Déclaration 2

'$(\'' . $updateContainer . '_loading\').remove();' 

Répondre

0

Je suppose que le $updateContainer est ID du HTML élément qui contient le message de chargement.

Puis, j'écrire la déclaration 1 comme ceci:

$statement1 = sprintf('$(\'#%1$s\').html(\'<div id="%1$s_loading" class="%2$s"><h4>Loading</h4></div>\');', $updateContainer, $spinnerClass); 

Et la deuxième déclaration est la suivante:

$statement2 = sprintf('$(\'#%s_loading\').remove();', $updateContainer); 

Si vous avez beaucoup de communication AJAX et besoin du 'chargement' souvent, il peut être préférable de hide() de sorte que vous pouvez simplement show() plus tard au lieu de créer le code HTML à nouveau.

Statement1 serait Uset pour créer l'élément de chargement, avec Statement2 hide() au lieu de se cacher remove() et Statement3 avec show() au lieu de hide() pour le montrer à nouveau.

+0

Merci Marko, je suis sûr d'essayer ceci et de vous faire savoir comment ça se passe. Si cela fonctionne, j'accepterai votre réponse comme la dernière. –

Questions connexes