jQuery - Öğenin sınıfı varsa bunu yapın


111

Herhangi bir elemanın belirli bir sınıfa sahip olup olmadığını görecek ve pozisyon değiştirme gibi bir eylem yapacak bir jQuery betiğine ihtiyacım var.

Yol bu, ama işe yarayacağını sanmıyorum.

$("a.contact").toggle(function() {
    $("#contact").animate({
        right: '0'
    }, 2000);

    if ($("#about").hasClass("opened")) {
        $("#about").animate({
            right: -700 + "px"
        }, 2000);
    }
}, function() {
    $("#contact").animate({
        right: -700 + "px"
    }, 2000);
});

Peki, "herhangi" bir elemanın belirli bir sınıfa sahip olup olmadığını bilmek istediğinizi söylediniz, ancak if ifadenizdeki seçiciniz sadece "yaklaşık" kimliği olan öğeyi hedefliyor? Temel olarak neyle sorun yaşadığınızı anlamaya çalışıyorum. Ayrıca, çalışıp çalışmadığını görmek için yukarıdaki kodu denediniz mi?
Adrian

İşe yaramayacağını düşündüğünüz için soruyu mu düşürmek ? Önce sen denemeye ne dersin?!? Eğer işe yaramazsa, bize ÖZEL OLARAK ne görmeyi beklediğinizi ve gerçekte ne gördüğünüzü söyleyin.
ken

@ken: gerçekten olmalıydı, ama o sadece aşağılık bir çaylak olduğu için, belki de doğru yönde nazik bir dürtü daha uygun olurdu? Bu arada @Florescu, bir şeyin işe yarayıp yaramayacağını merak ediyorsan ama çözemiyorsan jsfiddle.net'te problemle dalga geç ve sorunuza bağlantı verin.
treeface

@treeface: bu dürtüdür (ona basit bir noob demek yerine ); soruyu şu şekilde güncellerse ... bilirsiniz, aslında bir soru eklerse, olumsuz oyumu kaldırırım. Kötü soru (veya bir sorunun olmaması) = olumsuz oy, böylece başkalarının zamanlarını böyle olmayan bir konuda boşa harcamak zorunda kalmaması.
ken

Yanıtlar:


193

İlk olarak, koşullu ifadenizde bazı parantezler eksik:

if ($("#about").hasClass("opened")) {
  $("#about").animate({right: "-700px"}, 2000);
}

Ancak bunu şu şekilde de basitleştirebilirsiniz:

$('#about.opened').animate(...);

Eğer #aboutyoksa openedsınıf, bu animate olmaz.

Sorun animasyonun kendisindeyse, eleman konumlandırmanız hakkında daha fazla bilgi sahibi olmamız gerekir (mutlak? Ebeveynin içinde mutlak? Ebeveynin düzeni var mı?)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.