1:感觉滚动条焦点没有变颜色,哪里不对啊? console.log(top)怎么打不出来啊

来源:4-5 编程练习

慕仙5237505

2017-11-16 20:05

焦点没有跟着内容而变化,到底哪里不对呢,js部分不行,css 的有效果<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
     $(window).scroll(function () {
             var items = $("#content").find(".item"); //先根据#content再去查找.item 提高效率
                var menu = $("#menu");
                var top = $(document).scrollTop();
                //console.log(top);
                var currentId = ""; //滚动条现在所在位置的item id
                items.each(function () {
                    var m = $(this);
                    //注意:m.offset().top代表每一个item的顶部位置
                    if (top > m.offset().top - 300) {
                        currentId = "#" + m.attr("id");
                    } else {
                        return false;
                    }
        });
   var currentLink = menu.find(".current");
     if (currentId && currentLink.attr("href") != currentId) {
         currentLink.removeClass("current");
                    menu.find("[href=" + currentId + "]").addClass("current");
                }
            });
        });

写回答 关注

3回答

  • 麓鹿不迷路
    2018-06-06 22:34:38

    因为引入的js网址改了,要把http改成https,不然你的js代码都不起作用

  • 慕仙5237505
    2017-11-17 15:39:02

    改了,可是还是右侧焦点定位滚动条滚动还是没有反应
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8"/>
    <title>地狗购物网——网页定位导航效果</title>
    <style>
            * {
                margin: 0;
                padding: 0;
            }

            body {
                font-size: 12px;
                line-height: 1.7;
            }

            li {
                list-style: none;
            }

            #content {
                width: 800px;
                margin: 0 auto;
                padding: 20px;
            }

            #content h1 {
                color: #0088bb;
            }

            #content .item {
                padding: 20px;
                margin-bottom: 20px;
                border: 1px dotted #0088bb;
            }

            #content .item h2 {
                font-size: 16px;
                font-weight: bold;
                border-bottom: 2px solid #0088bb;
                margin-bottom: 10px;
            }

            #content .item li {
                display: inline;
                margin-right: 10px;
            }

            #content .item li a img {
                width: 230px;
                height: 230px;
                border: none;
            }

           
    /*请补充此处代码,让导航菜单在右侧绝对定位显示*/
            #menu {
                position:fixed;
                left:50%;
                top:100px;
                margin-left:370px;
            }

            #menu ul li a {
                display: block;
                margin: 5px 0;
                font-size: 14px;
                font-weight: bold;
                color: #333;
                width: 80px;
                height: 50px;
                line-height: 50px;
                text-decoration: none;
                text-align: center;
            }

            #menu ul li a:hover,
            #menu ul li a.current {
                color: #fff;
                background: #0088bb;
            }

            /*ie6 hack*/
            * html, * html body {
                background-image: url(about:blank);
                background-attachment: fixed;
            }

            * html #menu {
                /*position: fixed;*/
                position: absolute;
                top: expression(((e=document.documentElement.scrollTop)?e:document.body.scrollTop)+100+'px');
            }

    </style>
    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.js"></script>
    <script>
     $(document).ready(function(){
            $(window).scroll(function(){
                var top = $(document).scrollTop();
                var menu = $("#menu");
                var items = $("#content").find(".item");
                var currentId = "";
               items.each(function(){
                   var t = $(this);
                   var ttop = t.offset().top;
                   if(top > ttop-300){
                       currentId = "#" + t.attr("id");
                   }else{
                       return false;
                   }
               });
               
                var currentLink = menu.find(".current");
               if(currentId && currentId.attr("href")!=currentId){
                   currentLink.removeClass(".current");
                   menu.find('[href='+currentId+']').addClass("current");
               }
            });
        });
           //滚动条发生滚动时,要获取相应的值。
               
                //请补充此处代码,让导航菜单实现在滚动条滚动的时候自动设置焦点


                //给相应楼层的a 设置 current,取消其他链接的current
                    
    </script>
    </head>
    <body>
    <div id="menu">
    <ul>
    <!--运用锚点,实现导航定位。-->


    <li><a href="#item1" class="current">1F 男装</a></li>
    <li><a href="#item2">2F 女装</a></li>
    <li><a href="#item3">3F 美妆</a></li>
    <li><a href="#item4">4F 数码</a></li>
    <li><a href="#item5">5F 母婴</a></li>
    </ul>
    </div>
    <div id="content">
    <h1>地狗购物网</h1>

    <div id="item1" class="item">
    <h2>1F 男装</h2>
    <ul>
    <li><a href="#"><img src="http://img.mukewang.com/53660fce0001111903990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/53660fce0001111903990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/53660fce0001111903990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/53660fce0001111903990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/53660fce0001111903990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/53660fce0001111903990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/53660fce0001111903990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/53660fce0001111903990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/53660fce0001111903990422.jpg" alt=""/></a></li>
    </ul>
    </div>
    <div id="item2" class="item">
    <h2>2F 女装</h2>
    <ul>
    <li><a href="#"><img src="http://img.mukewang.com/5366104c0001e5c403990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/5366104c0001e5c403990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/5366104c0001e5c403990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/5366104c0001e5c403990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/5366104c0001e5c403990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/5366104c0001e5c403990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/5366104c0001e5c403990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/5366104c0001e5c403990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/5366104c0001e5c403990422.jpg" alt=""/></a></li>
    </ul>
    </div>
    <div id="item3" class="item">
    <h2>3F 美妆</h2>
    <ul>
    <li><a href="#"><img src="http://img.mukewang.com/536610820001cf5b03990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610820001cf5b03990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610820001cf5b03990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610820001cf5b03990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610820001cf5b03990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610820001cf5b03990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610820001cf5b03990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610820001cf5b03990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610820001cf5b03990422.jpg" alt=""/></a></li>
    </ul>
    </div>
    <div id="item4" class="item">
    <h2>4F 数码</h2>
    <ul>
    <li><a href="#"><img src="http://img.mukewang.com/536610ac00012df703990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610ac00012df703990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610ac00012df703990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610ac00012df703990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610ac00012df703990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610ac00012df703990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610ac00012df703990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610ac00012df703990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610ac00012df703990422.jpg" alt=""/></a></li>
    </ul>
    </div>
    <div id="item5" class="item">
    <h2>5F 母婴</h2>
    <ul>
    <li><a href="#"><img src="http://img.mukewang.com/536610cd0001f34603990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610cd0001f34603990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610cd0001f34603990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610cd0001f34603990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610cd0001f34603990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610cd0001f34603990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610cd0001f34603990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610cd0001f34603990422.jpg" alt=""/></a></li>
    <li><a href="#"><img src="http://img.mukewang.com/536610cd0001f34603990422.jpg" alt=""/></a></li>
    </ul>
    </div>
    </div>
    </body>
    </html>

  • qq_傻爱_0
    2017-11-17 15:12:45

     if (top > m.offset().top - 300) {
                            currentId = "#" + m.attr("id");
                        } else {
                            return false;
                        }

    这句判断方式不对,如果这样写的话在你的理论上是没有什么问题的,但电脑会把 m.offset().top里的点解析成特殊符号,所以说没发生变化,你应该先赋值  m.offset().top   把这个先提出来赋值  var mTop=m.offset().top ;  然后把这个赋的值 mTop ;放进去就行了。

     if (top > mTop - 300) {
                            currentId = "#" + m.attr("id");
                        } else {
                            return false;
                        }

    慕仙5237...

    改了, 可是还是右侧焦点定位,滚动条滚动时还停留在1f还是没有反应

    2017-11-17 15:40:37

    共 1 条回复 >

网页定位导航特效

本课程讲解网页定位导航特效,仿天猫版地狗购物网,你值得拥有

71404 学习 · 486 问题

查看课程

相似问题