here numaralı soruna benzer bir sorunum var ama biraz farklı bir durum var.JQuery'yi kullanarak bir hover etkinliğine (National Geographic sitesi gibi) yanıt olarak DIV'leri nasıl uçurur?
aradığım işlevselliği ana bağlantılardan birini üzerine gelindiğinde "gizli gözlem" görünür National Geographic website, neredeyse aynı olduğunu ve onunla etkileşime veya çocuk üzerinde gezinip ederken görünür kalır Menü, ancak menü öğesi, alt linkler veya "sneak peek" üzerinde gezdirilemediğinde kaybolur.
aşağıda liste öğeleri üzerinde mouseover, ben sayısına göre karşılık gelen bu durumda (belirttiğiniz bir DIV istiyorum - ama sayılar yokmuşçasına ayrı ayrı div adını tanımlamak için esneklik istiyorum ya da [Drupal kullanıyorum ve her şey dinamik olarak üretilir] ile eşleşmiyor ya da altında görünecek (liste satır içi olacak). İnsanların DIV'de görünen bağlantıyı tıklayabilmesi için açık kalması gerekir, ancak DIV'den veya liste listesinden mouseout yaptığınızda, div'in kaybolması gerekir.
Benim HTML daha şuna benzer:
Benim CSS şöyle<div id="navigation">
<ul id="switches">
<li class="item-1">First item</li>
<li class="item-2">Second item</li>
<li class="item-3">Third item</li>
<li class="item-4">Fourth item</li>
</ul>
<div id="block-1" class="block">
<p>First block</p>
<p><a href="http://www.google.com">Click here!</a></p>
</div>
<div id="block-2" class="block">
<p>Second block</p>
<p><a href="http://www.google.com">Click here!</a></p>
</div>
<div id="block-3" class="block">
<p>Third block</p>
<p><a href="http://www.google.com">Click here!</a></p>
</div>
<div id="block-4" class="block">
<p>Fourth block</p>
<p><a href="http://www.google.com">Click here!</a></p>
</div>
</div>
:
#switches li {
display: inline-block;
height: 50px;
background-color: #F33;
}
#block-1,
#block-2,
#block-3,
#block-4 {
position: absolute;
top: 50px;
height: 300px;
width: 500px;
background-color: #999;
display: none;
}
#block-1.active,
#block-2.active,
#block-3.active,
#block-4.active {
display: block;
}
Ve eminim diğer iplik Carl Meyer'in cevap dayalı my jQuery (Ben korkunç botched ettik) şöyle görünür:
$(document).ready(function() {
switches = $('#switches > li');
slides = $('#navigation > div.block');
switches.each(function(idx) {
$(this).data('slide', slides.eq(idx));
}).hover(
function() {
switches.removeClass('active');
slides.removeClass('active');
$(this).addClass('active');
$(this).data('slide').addClass('active');
});
});
Bu kod nasıl çalıştığını aşina değilim ve arı n çalışmayı deniyorum, ama "idx" in kullanımını ve tekil "slayt" teriminin nasıl işlediğini anladığımdan emin değilim.
jQuery için oldukça yeni ve bu projeyle görevlendirildim. Herhangi bir yardım için minnettarım, ve umarım diğerleri de onu faydalı bulabilir!
Teşekkürler pyrorex1, bu kod hatasını yakalamak için! Ve oylama için! Daha önce hiç stackoverflow kullanmamıştım ve bu oylama modülü en kullanışlı bilgileri bulmak için inanılmaz derecede yardımcı oldu! Sadece bu tür yararlı kaynaklar olduğu için size ve stackoverflow'a teşekkür etmek istedim! – kidreapertronV
Karışık efekt örneği bkz. Http://jquery.malsup.com/cycle – Nikit
Düzenlemeler için teşekkürler çocuklar! Görüyorum ki olası ödemeye referansım kaldırıldı. Sorunların iyi olup olmadığını belirten SSS’lerde hiçbir şey bulamadım, bu yüzden dahil ettim. Bunu not aldım ve tekrar eklemeyeceğim. Çok teşekkürler! Bu forumdaki ılımlılıktan çok etkilendim ve daha aktif bir üye olmayı dört gözle bekliyorum. Sorunuma bir çözüm buldum ve yakında ayrıntılı olarak yayınlayacağım. – kidreapertronV