2016-04-04 16 views
0

dd & dt için bir geçiş sınıfını kullanıyorum, iyi çalışıyor Ama bunu göstermek için hoverda göstermek istiyorum & hover'ı nasıl kullanacağım? Sen yerli .hover() işlevini kullanabilirsinizHover üzerinde dt & dd göster ve gizle

<div class="navigation"> 
        <dt><?php echo $this->__($_filter->getName()) ?></dt> 
        <dd><?php echo $_filter->getHtml() ?></dd> 
       </div> 

<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.js"></script> 
    <script type="text/javascript"> 
    jQuery=$.noConflict(); 
    jQuery(document).ready(function() { 
     jQuery('.navigation dd').hide(); 

     jQuery('.navigation dt').click(function(){ 
       jQuery(this).next('dd').slideToggle('slow'); 
       jQuery(this).toggleClass('glace_navigationlayer-collapsed'); 


      }); 


    }); 
    </script> 
+0

[the .hover() yöntemi] (http://api.jquery.com/hover) için jQuery belgelerindeki örneklere baktınız mı? – nnnnnn

+0

Hayır, bir örnek öneride bulunabilirsiniz ama dd & dt div sınıfına girmem gerekiyor zaten zaten gördüğüm div –

+0

Öğe türlerinin ne olduğu önemli değil. – nnnnnn

cevap

1
.toggledClass{ 
    display: none; 
} 

... Bu iki geri aramalar, öncelikle üzerinde ne yapmak istediğini fare-izinli yapmak istiyorum ikinci ne fare girin sürer.

$('.navigation').hover(addYourClass, removeYourClass) 

function addYourClass(){ 
    $('.navigation').addClass('toggledClass') 
} 

function removeYourClass(){ 
    $('.navigation').removeClass('toggledClass') 
} 
+0

Güncelleme sorgum kontrol edin –

0

mouseenter ve mouseleave deneyin.

jQuery('.navigation dd').hide(); 
 
jQuery('.navigation dt').on('mouseenter mouseleave', function() { 
 
    jQuery(this).next('dd').slideToggle('slow'); 
 
    jQuery(this).toggleClass('glace_navigationlayer-collapsed'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<dl class="navigation"> 
 
    <dt>Chrome</dt> 
 
    <dd>by Google</dd> 
 
    <dt>Safari</dt> 
 
    <dd>by Apple</dd> 
 
<dl>

+0

o sayfada kendini gösterir –

0

Bu oldukça yalındır olmalıdır. Aşağıdaki kodun neden sizin için çalışmadığından emin değilsiniz.

var $ = jQuery; 
 
$(document).ready(function() { 
 
    $('.navigation dd').hide(); 
 

 
    $('.navigation dt').hover(function(){ 
 
    $(this).next('dd').stop(true).slideToggle('slow'); 
 
    $(this).toggleClass('glace_navigationlayer-collapsed'); 
 
    }); 
 

 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="navigation"> 
 
    <dt>YOUR DT</dt> 
 
    <dd>YOUR DD</dd> 
 
</div>

+0

Ayrıca o kadar iyi çalışıyor, aynı şeyi aşağıya açılan eklemek için de çalışıyor –

+0

. Açılır pencerede açılır menüyü gizlemek mi yoksa açılır menü öğelerini hoverda göstermek mi istiyorsunuz? İkisi de benim için normal bir davranış gibi görünmüyor. –

+0

Sadece bir açılır kapanma onclick var hover üzerinde ihtiyacım var göstermek –

0

gösterebilir ve vurgulu üzerinde öğeleri gizlemek için Javascript kullanmamalısınız. CSS daha iyi bir seçim olacaktır.

+ seçici

.navigation dt:hover + dd { 
 
    display: none; 
 
} 
 

 

 
/*Don't care about this code*/ 
 
.navigation dt { 
 
    background-color: red; 
 
} 
 
.navigation dd { 
 
    background-color: green; 
 
}
<div class="navigation"> 
 
    <dt>dt</dt> 
 
    <dd>dd</dd> 
 
</div>

sonraki kardeş seçecektir. Bu, dt'dan sonra dd'u yerleştirmeniz gerektiği anlamına gelir.

İlgili konular