Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.04.2015, 23:49
Аспирант
Отправить личное сообщение для Nifler Посмотреть профиль Найти все сообщения от Nifler
 
Регистрация: 29.09.2013
Сообщений: 37

определение состояния css
Не могу определить элемент по его css стилю. вот какой у меня код:
<span id="clikaem">Klikni</span>

(function($,andefined){	
	$(document).ready(function(){
		if($("#clikaem").css("color")=="red"){
			$("#clikaem").click(function(){
				$("#clikaem").css("color","blue");	
			})
		}else{
			$("#clikaem").click(function(){
				$("#clikaem").css("color","#ff0000");	
			})	
		}		
	})
})(jQuery)

В теории должно при поочередных нажатиях изменять цвет с червоного на синий и наоборот. но оно никогда не определяет значение внутри if как тру. я даже алертом выводил
alert($("#clikaem").css("color"));

ответ был вот таким rgb(255, 0, 0) вставлял внутрь if, но не срабатывало.
Как мне поймать состояние стиля css элемента, и почему этот if не работает?
Ответить с цитированием
  #2 (permalink)  
Старый 24.04.2015, 00:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Nifler,
$("#clikaem").css("color") будет везде разный -- сделайте сравнение по классу а не по значению ксс
Ответить с цитированием
  #3 (permalink)  
Старый 24.04.2015, 00:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от Nifler
В теории должно при поочередных нажатиях изменять цвет с червоного на синий и наоборот
этого в вашем коде нет!!! даже будь значение == "red"
Ответить с цитированием
  #4 (permalink)  
Старый 24.04.2015, 00:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Nifler,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
       var red = $("#clikaem").css("color","red").css("color");
       $("#clikaem").click(function() {
         if ($(this).css("color")== red) $(this).css("color","blue");
         else $(this).css("color","red");
      });
});


  </script>
</head>

<body>
<span id="clikaem">Klikni</span>
</body>

</html>
Ответить с цитированием
  #5 (permalink)  
Старый 24.04.2015, 11:35
Аспирант
Отправить личное сообщение для Nifler Посмотреть профиль Найти все сообщения от Nifler
 
Регистрация: 29.09.2013
Сообщений: 37

да, разобрался. у меня проверка шла до того, как проверялось событие клик. и кажется из-за этого весь трабл.
а еще спс за вот этот код
var red = $("#clikaem").css("color","red").css("color");
так реально оно определенно поймет о каком цвете я говорю)
Ответить с цитированием
  #6 (permalink)  
Старый 24.04.2015, 11:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Nifler,
нормальный код для таких случаев
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
    #clikaem{
      color: Red;
    }
    #clikaem.blue{
      color: Blue;
    }
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
         var clik = $("#clikaem");
         clik.click(function() {
         clik.toggleClass('blue')
      });
});
  </script>
</head>

<body>
<span id="clikaem">Klikni</span>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 27.04.2015, 11:01
Аспирант
Отправить личное сообщение для Nifler Посмотреть профиль Найти все сообщения от Nifler
 
Регистрация: 29.09.2013
Сообщений: 37

С этим разобрался, спс. А теперь вопрос немного не по теме, как отследить изменение DOM со временем? Пока что пришло в голову периодически проганяться по всех интересующих элементах, но это бред.
http://javascript.ru/forum/showthrea...449#post368449
вот тему создал, там детальней вопрос рассписал. Посмотри, если есть время.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
возврат на прежний css faig92 Элементы интерфейса 0 28.03.2015 18:31
JQuery CSS анализатор javascript jQuery 2 15.08.2010 21:27
если (свойство css == 2) свойство css = 1; funkypublic Events/DOM/Window 1 09.06.2010 17:39
Подскажите по CSS меню Александр_1988 Элементы интерфейса 1 17.05.2010 11:58
Определение свойств стиля в javascript, если в CSS он задан особым образом SunnyDay Общие вопросы Javascript 13 13.03.2010 19:09