2010-06-25 3 views
1

мне интересно, если моя функция JQuery правильноМой 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

Если вы пишете мигание, вы определенно делаете это неправильно :) – annakata

+2

Нет. Вы делаете текстовую вспышку. Это * никогда не будет правильным;) – Chowlett

ответ

9

Лично я хотел бы использовать 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"}); 

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

+0

Отлично. Fwiw, если «window.alerta» как-то важно за пределами непосредственной функции, тогда «window.alerta =! Window.alerta;» было бы предпочтительнее if/else. – annakata

0

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

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

версия cletus была бы более эффективной, поскольку она удаляла бы оператор if. Mine было бы лучше, если бы вам нужно было что-то сделать, кроме простого переключения (например, где-то в вашем коде) –

+0

Cletus прав, гораздо лучше использовать классы –

Смежные вопросы