Kendi jQuery gezinme altmenüm komut dosyasını yazıyorum. ul
etiketine sahip olan nav
numaralı yatay bağlantıdaki bir bağlantının üzerine geldiğinizde, ul
görünür. Bir alt menüsü varsa yatay nav
bağlantılara bir ok ekler biraz kod var. Benim problemim, okları alt menüdeki bağlantılara da eklemesidir. Bu işlevsel olarak büyük bir anlaşma değil, ama kötü görünüyor.JQuery'de alt menümdeki bağlantılar için oklar nasıl eklenmez?
Tek bölüm, $(this).find('> a')
kullanırsam alt menünün görünümünü sıkıştırır. Alt menü, üst düzey bağlantının üzerine geldiğimde görünür, ancak fare bu bağlantıyı terk ettiğinde hemen kaybolur. Bu yüzden, farenin üst seviye bağlantısının üzerine geldiği zaman tüm alt menüyü görebilirim. Fare üst düzey bağlantıyı terk ettiğinde, alt menü kaybolur ve alt menü bağlantılarına tıklayamıyorum. Neyi yanlış yapıyorum? Bu bir JSFiddle. $(this).find('a')
'u $(this).find('> a')
olarak değiştirin ve ne demek istediğimi göreceksiniz. Zaman ayırdığın için teşekkürler!
$(document).ready(function(){
$('nav ul li:has(ul)').each(function(){
var listItem = $(this);
$(this).find('> a').each(function(){
var aTag = $(this);
aTag.append('<img src="{img_url}/caret.png" width="8" height="8">');
aTag.on('mouseover', function(){
listItem.find('ul').each(function(){
$(this).css('display', 'block');
});
})
.on('mouseout', function(){
listItem.find('ul').each(function(){
$(this).css('display', 'none');
});
});
});
});
});