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

  • 0TACTICAL0HIPPY0

    0TACTICAL0HI

    30 EYLÜL 2012
  • Majestic Casual

    Majestic Cas

    28 NİSAN 2012
  • Troy Hunt

    Troy Hunt

    29 EYLÜL 2011