Retouche d'un code Javascript pour définir le "undefined"
3 participants
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1 • Partagez
Retouche d'un code Javascript pour définir le "undefined"
Bonjour/Bonsoir,
Je viens de tomber sur un code JS de Self qui est absolument génial et qui sert à permettre à chaque membre de choisir sa couleur et police de texte dans "Préférences".
Le voici:
Seul bémol: la couleur par défaut (lorsqu'on ne le choisit pas) est d'un vert fluo très... fluo.
Il faut d'abord obligatoirement aller faire un choix de couleur avant que le "défaut" prenne la couleur du forum.
Je voudrais donc savoir s'il est possible en modifiant le JS ou en prenant par le CSS de définir le "undefined" de la couleur par défaut en "#29221D" et ce sans que le membre ait à le faire manuellement.
Désolée je suis nulle en explications.
Merci à qui voudra bien m'aider
Je viens de tomber sur un code JS de Self qui est absolument génial et qui sert à permettre à chaque membre de choisir sa couleur et police de texte dans "Préférences".
Le voici:
- Spoiler:
- Code:
jQuery(function($){
var t = $('#text_editor_textarea');
if(location.pathname == '/profile' && /\?mode=editprofile&page_profil=preferences/.test(location.href)){
$('form#register .forumline tr:last').before('<tr><td class="row1"><span class="gen">Couleur de vos messages :</span></td><td class="row2"><select name="color_choice" id="my_color"><option value="default" selected>défaut</option><option value="#660000">Rouge foncé</option><option value="#FF0000">Rouge</option><option value="#FF9933">Orange</option><option value="#663300">Marron</option><option value="#FFFF00">Jaune</option><option value="#006600">Vert</option><option value="#666633">Olive</option><option value="#00FFFF">Cyan</option><option value="#0000FF">Bleu</option><option value="#000099">Bleu foncé</option><option value="#6600FF">Indigo</option><option value="#990099">Violet</option><option value="#999999">Gris</option><option value="#EEEEEE">Blanc</option><option value="#000000">Noir</option></select></td></tr><tr><td class="row1"><span class="gen">Police de vos messages :</span></td><td class="row2"><select name="font_choice" id="my_font"><option value="default" selected>défaut</option><option value="Arial">Arial</option><option value="Arial Black">Arial Black</option><option value="Comic Sans MS">Comic Sans MS</option><option value="Courrier New">Courrier New</option><option value="Georgia">Georgia</option><option value="Impact">Impact</option><option value="Sans-serif">Sans-serif</option><option value="Serif">Serif</option><option value="Times New Roman">Times New Roman</option><option value="Trebuchet MS">Trebuchet MS</option><option value="Verdana">Verdana</option></select></td></tr>');
var lc = localStorage.color_choice, lf = localStorage.font_choice;
if(lc == undefined && lf == undefined){ lc = 'default'; lf = 'default'; }
$('#my_color option[value="'+lc+'"]').attr('selected', true);
$('#my_font option[value="'+lf+'"]').attr('selected', true);
$('#my_color option').each(function(){ $(this).css('color', $(this).val()) });
$('#my_font option').each(function(){ $(this).css('font-family', $(this).val()) });
var c = $('#my_color'), f = $('#my_font'), s = 'option:selected';
c.css({'color': lc, 'font-family': lf}).on('change', function(){
var v = $(this).find(s).val();
$(this).css('color', v);
f.css('color', v);
localStorage.setItem('color_choice', v);
});
f.css({'color': lc, 'font-family': lf}).on('change', function(){
var v = $(this).find(s).val();
$(this).css('font-family', v);
c.css('font-family', v);
localStorage.setItem('font_choice', v);
});
}else if(t.length != 0){
t.parents('form[action="/post"]').on('submit', function(){
var i = t.sceditor('instance'), lc = localStorage.color_choice, lf = localStorage.font_choice, sc = new RegExp('\^\\[color='+lc+'\\]'), sf = new RegExp('\^\\[font='+lf+'\\]');
if(!i.val().match(sc) && !i.val().match(sf)){
if(lc == 'default' && lf != 'default') i.val('[font='+lf+']'+i.val()+'[/font]');
else if(lf == 'default' && lc != 'default') i.val('[color='+lc+']'+i.val()+'[/color]');
else if(lc != 'default' && lf != 'default') i.val('[font='+lf+'][color='+lc+']'+i.val()+'[/color][/font]');
}
})
}
});
Seul bémol: la couleur par défaut (lorsqu'on ne le choisit pas) est d'un vert fluo très... fluo.
Il faut d'abord obligatoirement aller faire un choix de couleur avant que le "défaut" prenne la couleur du forum.
Je voudrais donc savoir s'il est possible en modifiant le JS ou en prenant par le CSS de définir le "undefined" de la couleur par défaut en "#29221D" et ce sans que le membre ait à le faire manuellement.
Désolée je suis nulle en explications.
Merci à qui voudra bien m'aider
Dernière édition par I Am LiBeRtY le Sam 13 Fév 2016 - 22:55, édité 1 fois
Re: Retouche d'un code Javascript pour définir le "undefined"
Bonjour,
Pourriez-vous ouvrir une section aux Invités s'il-vous-plait ?
Merci !
Bonne soirée !
Pourriez-vous ouvrir une section aux Invités s'il-vous-plait ?
Merci !
Bonne soirée !
kiwi14637- Membre habitué
-
Messages : 1387
Inscrit(e) le : 19/05/2010
Re: Retouche d'un code Javascript pour définir le "undefined"
Bonjour!
Merci de vous pencher sur mon cas^^
Je viens de donner l'accès aux invités à ce sujet (si c'est bien ce que vous vouliez dire).
Merci de vous pencher sur mon cas^^
Je viens de donner l'accès aux invités à ce sujet (si c'est bien ce que vous vouliez dire).
Re: Retouche d'un code Javascript pour définir le "undefined"
Bonjour,I Am LiBeRtY a écrit:Bonjour!
Merci de vous pencher sur mon cas^^
Je viens de donner l'accès aux invités à ce sujet (si c'est bien ce que vous vouliez dire).
Je n'ai pas eu le problème en postant donc il ne doit pas y avoir de rapport avec votre feuille de style personnalisée.
Pourriez-vous nous donner le code couleur de ce vert fluo s'il vous plaît ?
Merci !
Bonne soirée !
kiwi14637- Membre habitué
-
Messages : 1387
Inscrit(e) le : 19/05/2010
Re: Retouche d'un code Javascript pour définir le "undefined"
Oh quelle nouille je fais! J'avais déjà retiré le JV. Je le remets et je vous dis.
Re: Retouche d'un code Javascript pour définir le "undefined"
Re,
Voilà je l'ai remis!
Voilà je l'ai remis!
Re: Retouche d'un code Javascript pour définir le "undefined"
Bonsoir,
La modification doit être toute simple mais je préfère que quelqu'un d'autre vous la fasse pour éviter les bêtises.
Il faut bien modifier le javascript.
Bonne soirée !
La modification doit être toute simple mais je préfère que quelqu'un d'autre vous la fasse pour éviter les bêtises.
Il faut bien modifier le javascript.
Bonne soirée !
kiwi14637- Membre habitué
-
Messages : 1387
Inscrit(e) le : 19/05/2010
Re: Retouche d'un code Javascript pour définir le "undefined"
Merci beaucoup pour votre aide^^
Bonne soirée!
Bonne soirée!
Re: Retouche d'un code Javascript pour définir le "undefined"
Bonjour,
Problème: À la première utilisation, le «local strorage» n'existe pas; ce qui implique que les variables lc(couleur) et lf(fonte) sont alors de type "undefined".
Solution: À la première utilisation, créer et assigner la valeur par défaut.
À la fin du code,
entre la ligne débutant par var i = ...
et la ligne débutant par if(!i.val...
insérer les deux lignes suivanttes
Problème: À la première utilisation, le «local strorage» n'existe pas; ce qui implique que les variables lc(couleur) et lf(fonte) sont alors de type "undefined".
Solution: À la première utilisation, créer et assigner la valeur par défaut.
À la fin du code,
entre la ligne débutant par var i = ...
et la ligne débutant par if(!i.val...
insérer les deux lignes suivanttes
- Code:
if (typeof(lc) == "undefined") { lc='default'}
if (typeof(lf) == "undefined") { lf='default'}
Re: Retouche d'un code Javascript pour définir le "undefined"
Bonjour!
Merci de vous pencher sur mon problème^^
Juste pour ne pas faire de gaffe, dois-je remplacer les 2 lignes que vous m'avez proposé par celles qui sont déjà présentes à l'endroit où je dois les placer ou dois-je les mettre à la suite de celles-ci?
Merci de vous pencher sur mon problème^^
Juste pour ne pas faire de gaffe, dois-je remplacer les 2 lignes que vous m'avez proposé par celles qui sont déjà présentes à l'endroit où je dois les placer ou dois-je les mettre à la suite de celles-ci?
Re: Retouche d'un code Javascript pour définir le "undefined"
Insérer les deux lignes proposées entre les lignes actuelles 26 et 27.
avant l'insertion
après l'insertion
avant l'insertion
- Code:
var i = t.sceditor('instance'), lc = localStorage.color_choice, lf = localStorage.font_choice, sc = new RegExp('\^\\[color='+lc+'\\]'), sf = new RegExp('\^\\[font='+lf+'\\]');
if(!i.val().match(sc) && !i.val().match(sf)){
après l'insertion
- Code:
var i = t.sceditor('instance'), lc = localStorage.color_choice, lf = localStorage.font_choice, sc = new RegExp('\^\\[color='+lc+'\\]'), sf = new RegExp('\^\\[font='+lf+'\\]');
if (typeof(lc) == "undefined") { lc='default'}
if (typeof(lf) == "undefined") { lf='default'}
if(!i.val().match(sc) && !i.val().match(sf)){
Re: Retouche d'un code Javascript pour définir le "undefined"
C'est exactement ce qu'il me fallait, vous êtes mon sauveur!!!!
Un grand :thanks:
Je passe le sujet en résolu^^
Bonne soirée à vous!
Un grand :thanks:
Je passe le sujet en résolu^^
Bonne soirée à vous!
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum