2010-04-14 11 views
0

Im en utilisant ce code:Comment puis-je définir ma couleur d'arrière-plan via HTML5 getItem?

$(this).css('backgroundcolor', localStorage.getItem('bgColorr') + " !important;"); 

Quand j'écris:

alert(localStorage.getItem('bgColorr') + " !important;"); 

Il me donne l'alerte appropriée, rgb (243,102,42) importante; ....

Vraiment à moi .. merci les gars!

modifier:

Code Entourer:

$(function() { 
    $(this).css('background-color', localStorage.getItem('bgColorr')); 
}); 

var colorOptions = '#000, #fff, #abf7ae, #f6cbe9, #53c68f, #53c1c6, #538dc6, #c6536b'.split(', '), 
    colorDivs = [], 
    colorsContainer = $('#colorsContainer'); 

for (var i = 0, len = colorOptions.length; i < len; i++) { 
    var div = $('<div />').css('background', colorOptions[i])[0]; 
    colorDivs.push(div); 
} 

colorsContainer.append(colorDivs); 

$('#header').hover(function() { 
    colorsContainer 
    .fadeIn(200) 
    .children('div') 
     .click(function() { 
      $('body').css('background', $(this).css('backgroundColor')); 
      localStorage.setItem('bgColorr', $(this).css('backgroundColor')); 
     }); 
}, function() { 
    colorsContainer.fadeOut(200); 
}); 

Voilà, merci les gars

+0

Etes-vous sûr $ (ce) est l'élément correct? Ce qui veut dire que si vous faites quelque chose comme $ (this) .text ('TESTING'), l'élément correct est-il mis à jour? –

+0

@NSD, je pense que la propriété localStorage est une partie de HTML5 si je ne suis pas mal pris .. @Joel, vous pourriez avoir raison parce que j'essaie de faire référence à l'arrière-plan du corps avec $ (this) .. – Noor

+0

Est-ce à l'intérieur un gestionnaire d'événement? Quelle est la valeur de 'this'? – interjay

Répondre

3
  • Utilisez 'background-color' au lieu de 'backgroundcolor'.
  • Supprimez le !important. Vous ne pouvez pas définir cette propriété à partir de Javascript.
  • Vous ne devez pas placer le point-virgule à la fin de la valeur.

Mise à jour:

En plus de ce qui précède, il semble que this n'est pas un élément HTML. Vous devez utiliser un sélecteur approprié ici, par ex. $('#someid') pour sélectionner l'élément avec id='someid'. Si vous voulez changer l'arrière-plan du corps, utilisez $('body').

Pour résumer, vous devriez être laissé avec:

$('body').css('background-color', localStorage.getItem('bgColorr')); 
+0

Je l'ai déjà essayé, et je l'ai fait à nouveau juste maintenant je l'ai fait mal la dernière fois .. rien ne s'est passé .. – Noor

+0

@Noor Essayez avec le code que j'ai posté . – interjay

+0

Cela ne fonctionne toujours pas .. peut-être que je ne devrais pas utiliser $ (this)? Merci d'essayer de m'aider! – Noor

0

Votre problème n'est pas getItem ou quoi que ce soit, mais la capitalisation de votre nom de la propriété CSS. C'est le fond C olor, pas backgroundcolor.

+0

pas ce n'est pas .. c'est couleur de fond –

+0

backgroundColor et background-color sont également acceptables dans jQuery –

+1

@ Matt: En fait, les deux sont corrects – interjay