SORU
13 AĞUSTOS 2009, PERŞEMBE


İki unsur eğer Test aynıdır

JS ile gizlenmeyen onları tıklayarak/gizli öğelerin bir listesi var. Şu anda açık olan bir öğe değişken, openActivity saklanır. Yalnızca bir öğe bir anda açılabilir. Tıklayın kontrol etmek istiyorum() tıklandığında öğeyi çift animasyon yapmak değil zaten açılan öğe olarak aynı olup olmadığı olay ve ardından açılış ve kapanış. Bu çalışmak için ilk şüpheli olur:

if (openActivity == $(this)) alert('hello');

Ancak yok. Bu da işe yaramazsa kaydetti:

if ($(this) == $(this)) alert('hello'); //never alert()s !

Eğer sana faydası olur mu bilmem ama burada en alakalı tüm kod yok, (buna bakmak olmayabilir):

openActivity = null;
$('.activityOuterContainer').click(function () {
    if (openActivity !== null) {
    	if (openActivity == $(this)) alert('hello');
    	activityExtra(openActivity).slideUp();
    	activityToggle(openActivity).css('background-position', '0 0');
    }
    openActivity = $(this);
    activityExtra(openActivity).slideDown();
    activityToggle(openActivity).css('background-position', '0 -20px');
});


function activityToggle(a) {
    return a.closest('.activityOuterContainer').find('.activityToggle');
}
function activityExtra(a) {
    return a.closest('.activityOuterContainer').find('.activityExtra');
}

Ve öğeleri:

<div class="activityOuterContainer">
    <div class="activityContainer">
    	<div class="activityFormContainer">
    		name here
    		<div class="activityExtra">
    			<p>extra</p>
    		</div>
    	</div>
    	<div class="activityIsUsed">checkbox here</div>
    </div>
    <div class="activityToggle"></div>
</div>

CEVAP
13 AĞUSTOS 2009, PERŞEMBE


Bu çalışması gerekir:

if ($(this)[0] === $(this)[0]) alert('hello');

bu yüzden bu

if (openActivity[0] == $(this)[0]) alert('hello');

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • dhcrr's channel

    dhcrr's chan

    2 Ocak 2007
  • Michelle Phan

    Michelle Pha

    18 Temmuz 2006
  • Subscribe!!

    Subscribe!!

    3 EKİM 2009