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

  • Amena

    Amena

    15 Kasım 2006
  • sghaff1

    sghaff1

    23 Mart 2009
  • Xcode programming tutorials

    Xcode progra

    17 EYLÜL 2006