0

再会

由于某种原因,浏览器忽略了我的 addClass 和 toggleClass jquery 调用:

HTML

<div id="menuNav" class="row-fluid">
    <div id="menuNavSub" class="span12">
        <ul>                         
            <li id="homeNav"><a href="index.aspx"><img src="images/homeNav2.png" /></a></li>
            <li id="galleryNav"><a href="galleries.aspx" class="block"><img src="images/homeNav2.png" /></a></li>
            <li id="aboutNav"><a href="about.aspx"><img src="images/homeNav2.png" /></a></li>               
            <li id="contactNav"><a href="contact.aspx"><img src="images/homeNav2.png" /></a></li>
        </ul>              
    </div>         
</div>

CSS:

.activeNavHome1 {
    background-position: -200px center;
}

.activeNavHome2{
    background: url('/images/homeNavSmall.png') no-repeat left center;
    background-position: -150px center;
}

jQuery:

    $('#homeNav').addClass('activeNavHome1');

    if ($(window).width() < 1080) {
       $('#homeNav').toggleClass('activeNavHome2');
     }

注意:我正在使用ASP.NET并且 jQuery 代码包含在我的index.aspx文件中。HTML 包含在我的主文件中。

但是,当我使用

$('#homeNav').css('background-position', '-200px center')

有用。为什么不使用addClassandtoggleclass命令分配我的课程?我的 CSS 没有出现拼写错误。

4

1 回答 1

1

而是通过两个课程,i think you didn't referenced a jQuery library或者可能是您doc ready丢失了:

<script>
  $(function(){ // <-----------------------------you are missing this
     $('#homeNav').addClass('activeNavHome1');
     if ($(window).width() < 1080) {
       $('#homeNav').toggleClass('activeNavHome1 activeNavHome2');
     }
   });
 </script>

笔记:

确保在此脚本之前已加载 jQuery:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
于 2013-02-19T07:19:22.973 回答