Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/01/2012, 16h47   #1
Futur Membre du Club
 
Inscription : janvier 2007
Messages : 70
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 70
Points : 15
Points : 15
Par défaut performance sur une listview avec beaucoup de lignes

Bonjour,

J'utilise une liste standard dans JQUERY :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<ul data-role="listview" data-filter="false">
    <li>
	<h3>article 1</h3>
    </li>
    <li>
	<h3>article 2</h3>
    </li>
    <li>
	<h3>article 3</h3>
    </li>
</ul>

Savez-vous combien de lignes maximum est il raisonnable d'afficher dans la listview ?

Je pose la question car je remarque que si j'affiche 500 lignes dans la listview, ca commence à ramer sérieusement.
Et si je mets le data-filter à true ... là il faut être très patient !

Merci pour vos retours.
jerem_orga est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 17h28   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 075
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 075
Points : 45 211
Points : 45 211
j'ai propose un filtre sur un table qui peut s'appliquer a un ul ...
ça se code assez simplement en jquery, et c'est pas 500 lignes qui va lui faire peur ^^
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 18h00   #3
Futur Membre du Club
 
Inscription : janvier 2007
Messages : 70
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 70
Points : 15
Points : 15
Citation:
j'ai propose un filtre sur un table qui peut s'appliquer a un ul ...
comprends pas trop ce que tu veux dire ...

Citation:
ça se code assez simplement en jquery, et c'est pas 500 lignes qui va lui faire peur ^^
même en utilisant le data-filter ?
jerem_orga est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 19h18   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 787
Points : 35 787
Désolé, mais une "listview", pour moi, ça veut rien dire...

Mais sinon, tu ne montres que du code HTML, or il ne pose aucun souci d'affichage...
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!doctype html>
<html lang=fr">
<head>
	<meta charset="utf-8" />
	<title>Longue liste</title>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<?php
$start = microtime(true);
$affiche = '';
$i=0;
while($i++ < 1000){
	$affiche.= '<li><h3>Article '.$i.'</li>';
}
?>
	<p>
<?php
	echo round((microtime(true) - $start), 5) . ' s';
?>
	</p>
	<ul data-role="listview" data-filter="true">
	<?php echo $affiche; ?>
	</ul>
</body>
</html>
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 10h24   #5
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 075
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 075
Points : 45 211
Points : 45 211
http://javascript.developpez.com/faq...er#FiltreTable

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script type='text/javascript'>
$(function(){
for (i=0;i<1500;i++){
	$("#foo").append(   $('<li/>').html(  String.fromCharCode( 97+ Math.floor(Math.random()*25 ))))
	}
 
$("#filter").click( function(){
	char=$('#vfilter').val()
	$('#foo li').each(function(){  
	   lival=$(this).html();
	  $(this).css({'display': (lival!=char)?"none":"block"})
	  })
	})
})
</script> 
</head>
<body>
<ul id="foo"></ul>
<input type="text" id="vfilter" value="" />
<input type="button" id="filter" value="filtre" />
</body>
</html>
[edit] non pas piaf ...

Ceci devrait être plus rapide
Code :
1
2
3
4
$("#filter").click( function(){
	char=$('#vfilter').val()
	$('#foo li').css('display','block').filter( function(){  return $(this).text()!=char } ).css('display',"none")
	})
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h23.


 
 
 
 
Partenaires

Hébergement Web