Мой jquery это правильно? - PullRequest
1 голос
/ 25 июня 2010

Мне интересно, правильна ли моя функция jquery

<script>
window.blinker = setInterval(function(){
  if(window.alerta){
    $('a.cadastrotopo').css('color','#346698');
    $('a.cadastrotopo').css('text-decoration','underline');
      window.alerta=false;
    }
    else{
      $('a.cadastrotopo').css('color','#000');
      $('a.cadastrotopo').css('text-decoration','none');
      window.alerta = true;
    }
},500);
</script>

работает нормально, но мне интересно, правильно ли я поступаю.

Благодарю вас.

Ответы [ 2 ]

9 голосов
/ 25 июня 2010

Лично я бы больше использовал CSS, особенно классы:

a.cadostropo {
  color: #000;
  text-decoration: none;
}
a.alert { 
  color: #346698;
  text-decoration: underline;
}

и тогда решение становится тривиальным:

setInterval(toggleAlert, 500);

function toggleAlert() {
  $("a.cadostropo").toggleClass("alert");
}

Примечание с одной стороны: вместо нескольких вызовов css() вы можете использовать анонимные объекты для указания нескольких свойств.

$("a.cadostropo").css({color: "#346698", textDecoration: "underline"});

При этом я предпочитаю не использовать жестко запрограммированные манипуляции с CSS. Любимые занятия. Они гораздо более гибкие, и вам не нужно беспокоиться о разрушительных изменениях и откатывать их назад.

0 голосов
/ 25 июня 2010

Да, хотя вы могли бы объединить объявления css, чтобы они выглядели так.

.css({'color' : "#346698", 'text-decoration' : "underline"});
...