Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Изменение цвета текста со значениями, при значении ползунка больше или меньше (https://javascript.ru/forum/dom-window/48930-izmenenie-cveta-teksta-so-znacheniyami-pri-znachenii-polzunka-bolshe-ili-menshe.html)

AlexG88 22.07.2014 12:25

Изменение цвета текста со значениями, при значении ползунка больше или меньше
 
Добрый день! Есть такой скрипт http://jqueryui.com/slider/#range

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery UI Slider - Range slider</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css">
</script>
$(function() {
			$( "#slider-range" ).slider({
			  range: true,
			  min: 0,
			  max: 500,
			  values: [ 0, 500 ],
			  slide: function( event, ui ) {
				$( "#amount" ).val( ui.values[ 0 ] + " руб.");
				$( "#amount3" ).val( ui.values[ 1 ]  + " руб." );
			    }
			});
$( "#amount" ).val($( "#slider-range" ).slider( "values", 0 ) + " руб.");
$( "#amount3" ).val($( "#slider-range" ).slider( "values", 1 ) + " руб." );
			
		  });
</script>
</head>
<body>
 
<p>
<label for="amount">Price range:</label>

<input type="text" id="amount" readonly style="border:0; color:#f6931f; font-weight:bold;">
<input type="text" id="amount3" readonly style="border:0; color:#f6931f; font-weight:bold;">

<label for="amount"><span>Цена</span></label><br>

<input type="text" id="amount" readonly style="border:0;">
<input type="text" id="amount3" readonly style="border:0;">
</p>
 
<div id="slider-range"></div>
 
</body>
</html>


Не получается дописать функцию, которая бы изменяла цвет значения(текст #amount и #amount3) на другой, например красный, когда ползунок сдвигается больше или меньше чем значения ползунков по умолчанию.
Пробовал вот так
if (ui.values[0]>0) { $("#amount").css('color','red'); }
но чего то ошибку выдает
Помогите пожалуйста с решением

рони 22.07.2014 12:46

AlexG88,
то есть одинаковые id это нормально и Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони 22.07.2014 12:54

AlexG88,
и где ошибка?
<!doctype html>
 <html lang="en">
 <head>
 <meta charset="utf-8">
 <title>jQuery UI Slider - Range slider</title>
 <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
 <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
 <script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
<style type="text/css">
 #slider-range{
   width: 500px
 }

</style>
 <script>
 	$(function()
 	  {
 	    $("#slider-range").slider(
 	      {
 	      range: true,
 	      min: 0,
 	      max: 500,
 	      values:[0, 500],
 	      slide: function(event, ui) {
 	          if (+ui.values[0]>0) {$("#amount").css('color', 'red')};
 	          $("#amount").val(ui.values[0] + " руб.");
 	          $("#amount3").val(ui.values[1] + " руб.");
 	        }
 	      }
 	    );
 	    $("#amount").val($("#slider-range").slider("values", 0) + " руб.");
 	    $("#amount3").val($("#slider-range").slider("values", 1) + " руб.");
 	  }
 	);
 </script>
 </head>
 <body>

 <p>
 <label for="amount"><span>Price range:</span>
 <input type="text" id="amount" readonly style="border:0; color:#f6931f; font-weight:bold;"></label><br>
 <label for="amount3"><span>Цена</span>
 <input type="text" id="amount3" readonly style="border:0;"></label>
 </p>
 <div id="slider-range"></div>
 </body>
 </html>

AlexG88 22.07.2014 13:14

Во, спасибо. Знач я не туда её вставлял. Спасибо большое!


Часовой пояс GMT +3, время: 05:37.