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 12/12/2011, 17h13   #1
Invité régulier
 
Femme
Étudiant
Inscription : août 2011
Messages : 28
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 28
Points : 6
Points : 6
Par défaut Style Switcher dans un <form>

Bonjour,

Recherchant un Switcher fonctionnant sous Safari, je suis tombé sur le JQuery suivant :

Javascript

Code :
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
(function($) {
 
	$.fn.styleSwitcher = function(options){		
 
		var defaults = {	
 
			slidein: true, preview: true, container: this.selector, directory: "http://www.monsite.fr/themes/", useCookie: true, cookieExpires: 30, manageCookieLoad:true	
 
		};
 
		var opts = $.extend(defaults, options);
 
		// if using cookies and using JavaScript to load css
 
		if (opts.useCookie && opts.manageCookieLoad) {
 
			// check if css is set in cookie
 
			var isCookie = readCookie("style_selected")
 
			if(isCookie){
 
				var newStyle = opts.directory + isCookie + ".css";
 
				$("link[id=theme]").attr("href",newStyle);
 
				baseStyle = newStyle;
 
			}
 
			else{
 
 
 
			}
 
		}		
 
		// if using slidein
 
		if(opts.slidein){
 
			$(opts.container).slideDown("slow");
 
		}
 
		else{
 
			$(opts.container).show();
 
		}
 
		var baseStyle = $("link[id=theme]").attr("href");
 
		if(opts.preview){
 
			$(opts.container + " a").hover(
 
				function () {
 
					var newStyle = opts.directory + this.id + ".css";
 
					$("link[id=theme]").attr("href",newStyle);
 
				}, 
 
				function () {
 
					$("link[id=theme]").attr("href",baseStyle);
 
				}
 
			);
 
		}
 
 
 
		$(opts.container + " a").click(
 
			function () {
 
				var newStyle = opts.directory + this.id + ".css";
 
				$("link[id=theme]").attr("href",newStyle);
 
				baseStyle = newStyle;
 
				if(opts.useCookie){
 
					createCookie("style_selected",this.id,opts.cookieExpires)
 
				}
 
			}
 
		);
 
 
 
	};
 
	function createCookie(name,value,days) {
 
		if (days) {
 
			var date = new Date();
 
			date.setTime(date.getTime()+(days*24*60*60*1000));
 
			var expires = "; expires="+date.toGMTString();
 
		}
 
		else var expires = "";
 
		document.cookie = name+"="+value+expires+"; path=/";
 
	}	
 
	function readCookie(name) {
 
		var nameEQ = name + "=";
 
		var ca = document.cookie.split(';');
 
		for(var i=0;i < ca.length;i++) {
 
			var c = ca;
 
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
 
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
 
		}
 
		return null;
 
	}	
 
	function eraseCookie(name) {
 
		createCookie(name,"",-1);
 
	}
 
})(jQuery);
BODY

Code :
<a href="javascript: void(0)" title="switch styling" id="theme1">Default</a> | <a href="javascript: void(0)" title="switch styling" id="theme2">Darkness</a> | <a href="javascript: void(0)" title="switch styling" id="theme3">Colorful</a>
Ça fonctionne sans problème, malheureusement j'aurais aimé pouvoir l'intégrer dans ma barre de navigation sous la forme d'un formulaire comme suit :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form id="switchform" class="choipeau" action="">
 
	<select name="switchcontrol" size="1">
 
	<option value="none" selected="selected">Changer le thème</option>
 
	<option value="style1">Défaut</option>
 
	<option value="style2">Style 2</option>
 
	<option value="style3">Style 3</option>
 
	</select>
 
	</form>
Et là forcément, ça ne marche pas

Pourriez vous me dire comment modifier le javascript pour que ça fonctionne avec un <form> ?
Nheavy est dé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 03h12.


 
 
 
 
Partenaires

Hébergement Web