10
votes

JQuery Ui.ProgressBar Label - Modifier la couleur du texte sur la lettre de passage de fond

J'ai ajouté une étiquette à la barre de progression JQuery UI en utilisant Cette démo .

Ce que je veux faire, c'est changer la couleur du texte en fonction de si la barre de progression est derrière la lettre.

Comment puis-je dire si cela s'est passé? Entrez la description de l'image ici


0 commentaires

3 Réponses :


-1
votes
if (newVal >= 50)
    $('.pblabel').css('color', newColor);
else
    $('.pblabel').css('color', defaultColor);

3 commentaires

Veuillez consulter l'image ci-jointe, je veux qu'il soit légèrement plus précis que cela.


Néanmoins pas exactement ce dont j'ai besoin, l'étiquette pourrait être n'importe quel texte du tout, je dois presque savoir où chaque lettre est positionnée par rapport à son parent ...


Son stupide, dans la sortie précoce de la barre de progression, ils avaient réellement ceci là-bas, mais ils l'ont pris: /



0
votes

Utilisez le Modifier l'événement code> de .ProgressBar comme Donc:

updateProgressColor = function() {
  if( $(this).progressbar('percentage').toFixed(0) == 100 ) {
    $(this).css('background', '#F000');
  }
}

$('#progressbar').progressbar({
  change: updateProgressColor
});


2 commentaires

qui mettra simplement à jour la couleur si la barre de progression est terminée, veuillez consulter mon image.


Je ne ferais pas ce que vous demandez à CSS du tout. Il n'y a pas de moyen réalisable de faire ce que vous demandez dans Pure CSS et JavaScript.



12
votes

C'est un peu laidly, mais si vous dupliquez l'étiquette, un à l'extérieur de la barre et une intérieure, et utilisez Overflow: caché Vous pouvez le retirer:

http://jsbin.com/ohiyo/21/

uniquement testé à Chrome Dev et Firefox 4


0 commentaires