jQuery if операторы CSS-ді өзгертуге арналған

Бұл код мәтінді ауыстыратын (көрсету/жасыру) түймені басу туралы.

jQuery('Button']').click(function() {
    jQuery('#text').slideToggle('fast', function() {});      
    if (jQuery('#text').css('display') == 'block') {
        jQuery('#dropdown1arrow').css({"border-top":"0px"});
        jQuery('#dropdown1arrow').css({"border-bottom":"7px solid #0767B1"});            
       }
    if (jQuery('#text').css('display') == 'none') {
        jQuery('#dropdown1arrow').css({"border-bottom":"0px"});
        jQuery('#dropdown1arrow').css({"border-top":"7px solid #0767B1"});        
       }    
});

Бәрі де дисплейден басқа жұмыс істейді: жоқ, ешкімге неге/қалай түзетуге болатыны туралы ешқандай түсінік жоқ.

0
'Түйме'] ' - жарамды селектор емес. Қателер үшін JavaScript консолін тексеріңіз.
қосылды автор Blazemonger, көзі
'Түйме'] ' - жарамды селектор емес. Қателер үшін JavaScript консолін тексеріңіз.
қосылды автор Blazemonger, көзі
else жоқ. Сондай-ақ jQueryде .toggle() әдісі бар.
қосылды автор Nick R, көзі

6 жауаптар

Элемент көрінетін болса, орнына тексеріңіз:

if (jQuery('#text').is(":visible")) {
   //something
}
else {
   //something else
}
3
қосылды
@PimPeters: Бұл сұрақтың «жұмыс істемейтіні» дегеннің ешқандай сипаттамасы жоқ. Бірнеше бөлшекті қосу тіпті көмектеседі.
қосылды автор Jon, көзі
Жұмыс істемейді .. кешіріңіз.
қосылды автор Pim Peters, көзі

Элемент көрінетін болса, орнына тексеріңіз:

if (jQuery('#text').is(":visible")) {
   //something
}
else {
   //something else
}
3
қосылды
@PimPeters: Бұл сұрақтың «жұмыс істемейтіні» дегеннің ешқандай сипаттамасы жоқ. Бірнеше бөлшекті қосу тіпті көмектеседі.
қосылды автор Jon, көзі
Жұмыс істемейді .. кешіріңіз.
қосылды автор Pim Peters, көзі

Сіз бұл әрекетті орындауға болады:

jQuery('button').click(function() {
    jQuery('#dropdown1arrow').css(jQuery('#text').is(":visible") ? 
                  {"border-top":"0px", "border-bottom":"7px solid #0767B1"} :
                  {"border-bottom":"0px", "border-top":"7px solid #0767B1"}
                 );
});
0
қосылды

Сіз бұл әрекетті орындауға болады:

jQuery('button').click(function() {
    jQuery('#dropdown1arrow').css(jQuery('#text').is(":visible") ? 
                  {"border-top":"0px", "border-bottom":"7px solid #0767B1"} :
                  {"border-bottom":"0px", "border-top":"7px solid #0767B1"}
                 );
});
0
қосылды

Кейбір жақсартулар:

  • Use .is(':visible') to check if the element is visible
  • Move the if statement inside the callback function of slideToggle()
  • Merge the two CSS calls into a single call
  • You have a typo in the first row - 'Button']'

Код:

jQuery('Button').click(function() {
  jQuery('#text').slideToggle('fast', function() {
    text_obj = $(this)
    if (text_obj.is(':visible')) {
      jQuery('#dropdown1arrow').css({"border-top":"0px", "border-bottom":"7px solid #0767B1"});
    }
    else {
      jQuery('#dropdown1arrow').css({"border-bottom":"0px", "border-top":"7px solid #0767B1"});
    }
  });
});
0
қосылды
Әрине, проблема жоқ. Егер ең жақсы жауап болса, оны шешім ретінде белгілеңіз: D
қосылды автор yoavmatchulsky, көзі
Бұл мәселе үшін кейбір атаулардың өзгеруі себебінен. Кез келген жағдайда, бұл әзірленді! Көптеген жолдарға рахмет.
қосылды автор Pim Peters, көзі

Кейбір жақсартулар:

  • Use .is(':visible') to check if the element is visible
  • Move the if statement inside the callback function of slideToggle()
  • Merge the two CSS calls into a single call
  • You have a typo in the first row - 'Button']'

Код:

jQuery('Button').click(function() {
  jQuery('#text').slideToggle('fast', function() {
    text_obj = $(this)
    if (text_obj.is(':visible')) {
      jQuery('#dropdown1arrow').css({"border-top":"0px", "border-bottom":"7px solid #0767B1"});
    }
    else {
      jQuery('#dropdown1arrow').css({"border-bottom":"0px", "border-top":"7px solid #0767B1"});
    }
  });
});
0
қосылды
Әрине, проблема жоқ. Егер ең жақсы жауап болса, оны шешім ретінде белгілеңіз: D
қосылды автор yoavmatchulsky, көзі
Бұл мәселе үшін кейбір атаулардың өзгеруі себебінен. Кез келген жағдайда, бұл әзірленді! Көптеген жолдарға рахмет.
қосылды автор Pim Peters, көзі