简单的jQuery和CSS导航在刷新时随机无法正常工作...所有浏览器

时间:2011-10-15 19:21:55

标签: jquery css random navigation nav

好的,在所有浏览器和解决方案中似乎都是如此。我对编码很陌生,所以我很确定这是一个我错过的简单错误。我问过一群朋友,对每个人来说似乎都是一样的。导航悬停仅在主编码布局上有效(有时尚未完全编码)。我自己拉出导航,它似乎100%正常工作。

您可以在此处查看它应如何运作:http://dperolio.com/newnav/css/

以下是问题所在:http://dperolio.com/tealtop2

它最初可能适用于您,或者可能不适用。如果你垃圾邮件刷新(Ctrl + R)它有时会工作。当它不起作用时,它似乎只是处于悬停状态而不管什么(粗体白色链接)。

我感谢您提供的任何见解;再次,我很确定我犯了一些愚蠢的错误,并希望有经验的人可以发现它并指出它给我?谢谢!

2 个答案:

答案 0 :(得分:0)

以下是我为您制作的快速演示:

$(document).ready(function() {

  $("#topnav li").prepend("<span></span>"); //Throws an empty span tag right before the a tag

  $("#topnav li").each(function() { //For each list item...
    var linkText = $(this).find("a").html(); //Find the text inside of the a tag
    $(this).find("span").show().html(linkText); //Add the text in the span tag
  });

  $("#topnav li").hover(function() { //On hover...
    $(this).find("span").stop().animate({
      marginTop: "-40" //Find the span tag and move it up 40 pixels
    }, 250);
  }, function() { //On hover out...
    $(this).find("span").stop().animate({
      marginTop: "0" //Move the span back to its original state (0px)
    }, 250);
  });

});
ul#topnav {
  margin: 0;
  padding: 0;
  list-style: none;
  float: left;
  font-size: 1.1em;
}

ul#topnav li {
  margin: 0;
  padding: 0;
  overflow: hidden;
  /*--Important - Masking out the hover state by default--*/
  float: left;
  height: 40px;
}

ul#topnav a,
ul#topnav span {
  /*--The <a> and <span> share the same properties since the <span>  will be a duplicate of the <a> tag--*/
  padding: 10px 20px;
  float: left;
  text-decoration: none;
  color: #000;
  background: url(a_bg.gif) repeat-x;
  text-transform: uppercase;
  clear: both;
  width: 100%;
  height: 20px;
  line-height: 20px;
  /*--Vertical alignment of text--*/
}

ul#topnav a {
  /*--This is basically the hover state of navigation--*/
  color: #555;
  background-position: left bottom;
}

ul#topnav span {
  /*--Default state of navigation--*/
  background-position: left top;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
  <ul id="topnav" class="v2">
    <li><a href="http://www.sohtanaka.com/">Home</a></li>
    <li><a href="http://www.sohtanaka.com/web-design/web-design-services.php">Services</a></li>
    <li><a href="http://www.sohtanaka.com/web-design/designbombscom/">Portfolio</a></li>
    <li><a href="http://www.sohtanaka.com/web-design-blog/">Blog</a></li>
    <li><a href="http://www.sohtanaka.com/about/">About</a></li>
  </ul>
</div>

答案 1 :(得分:0)

我知道这是愚蠢的......这是因为我在调用jQuery之后而不是之前列出了外部CSS。