11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

je travaille sur un script que voici : http://alexandreleray.com/_stock/test2.html
et qui utilise le framework prototype plus ce code : http://alexandreleray.com/_stock/columnCollection2.js

Je débute en POO et en Prototype, j'aurai donc aimé avoir votre avis car le script tourne plus ou moins bien en fonction du navigateur utilisé (safari très rapide, firefox et camino mac ça passe, un peu plus lent sur linux). Bref peut-être que le problème viens du fait que je créé une fonction "nested" pour chaque "periodicalexecuter", mais je ne vois pas comment m'en sortir sinon avec une POO.


fold: function(cible) {
		var This = this;
		return new PeriodicalExecuter(function(pe) {
			var width = parseInt(cible.style.width);
			var newWidth = width+((This.minWidth-width)/This.step);
			if(Math.floor(newWidth)<=This.minWidth){
				cible.style.width=This.minWidth+"px";
				pe.stop();
			}
			else {
				cible.style.width=newWidth+"px"
			}
		 }, 0.01);
	}



Des conseils ?

Merci
pour moi ça marche trés bien sur les differents navigateurs, c'est juste sur les ordis un peu plus vieux ou c'est un peu sacadé. Par contre je vois pas trop l'interet de mettre 140k de script là ou deux petites boucles settimeout suffisent à part bien sûr si tu as besoin par la suite d'autres fonctions de prototype.
Modifié par matmat (15 Nov 2007 - 19:31)
Merci pour ta réponse. Je pense effectivement utiliser prototypes par la suite. J'avais tout d'abord codé sans, pour apprendre l'objet, mais prototype simplifie pas mal les chose concernant les gestions d'evenement notamment. Avez-vous des remarques sur la manière dont j'ai codé ? Etant débutant je fais ça un peu à l'aveuglette. Je me demande notamment si je ne pourrai pas appliquer les fonction fold et unfold comme méthodes des divs "colonnes"; Mais là je n'ai pas de piste...
non en fait pas plus de commentaire que ça, trop compliquer pour moi..., juste peut-être si tu utilise prototype alors profiter au maximum de lui en utlisant par exemple les selecteurs qu'il propose (select) et les methodes pour récupérer la taille des éléments, histoire de réduire ta fonction à l'essentiel.

Ah oui, il y a pas mieux que var This = this en POO pour recuperer l'objet?
Modifié par matmat (16 Nov 2007 - 00:10)