所以我目前正在嘗試使用JQuery,並且到目前爲止導航工作正常。我已經添加了下拉菜單,並且引發了問題,並想知道是否有人可以看到原因。JQuery導航 - 下拉導致問題
HTML:
<ul id="navigation">
<li id="first" onclick="window.location='index.html';"><span id="logo"></span><span class="navigation-text">Home</span></li>
<li class="standard"><span class="gallery_icon"></span><span class="navigation-text">Gallery</span>
<ul class="subnavigation">
<li>Portfolio 1 Column</li>
<li>Portfolio 2 Column</li>
</ul>
</li>
<li class="standard"><span class="gallery_icon"></span><span class="navigation-text">Gallery</span></li>
<li class="standard"><span class="gallery_icon"></span><span class="navigation-text">GalleryGallery123</span></li>
</ul>
JQuery的:
<script type="text/javascript">
$(document).ready(function() {
// On hover:
$('#navigation li').hoverIntent(function() {
width = $(this).children('span:nth-child(2)').width();
text = $(this).children('span:nth-child(2)');
var newwidth = (width + 15) // Original width + 15px padding
text.filter(':not(:animated)').animate({"width":"1px"}, 0).show(); // Make the width 0px and make the element visible
text.animate({"width":+newwidth+"px"}, 300); // Animate the width to the new size
$(this).children('ul').slideDown('slow')
},
function() {
text.animate({"width":"1px"}, 150); // Animate the width to 0px and hide the element
text.animate({"width":+width+"px"}, 0);
setTimeout(function() {
$('#navigation li .navigation-text').hide();
},100);
$(this).children('.subnavigation').slideUp('slow');
});
});
</script>
如果將鼠標懸停在綠條或任何LIS中不包含下拉列表,然後它工作罰款。它打開和關閉,並繼續工作,如果你再次做。但是,如果您將鼠標懸停在下拉列表上並將其保留在該下拉列表的第一個LI上,則繼續前進到父項關閉的第二個LI,並以錯誤的大小結束,並且下拉列表的第一個LI隱藏其自身。
也許最好的,如果你有一個玩它,所以你知道我在做什麼,因爲我不知道這很有道理。
JFiddle:http://jsfiddle.net/5NcHk/ 直播:http://dev.evaske.com/Navigation/
美麗!謝謝 :) – Tenatious 2013-03-20 11:22:13