RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
(JQuery学习笔记)利用jquery制作网页导航定位-创新互联

我们在日常浏览网站中,由于网站包含信息量大,例如购物网站中会有许多商品。那么对于这样的情况,往往会有导航栏来帮助我们迅速的找到自己想要的信息。例如图中所示,左侧是商品列表,右侧是商品分类导航栏。

创新互联专注于五河企业网站建设,响应式网站,商城网站建设。五河网站建设公司,为五河等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

(JQuery学习笔记)利用jquery制作网页导航定位

我们现在需要做到的效果是:

    1、点击某个商品分类,自动跳转至具体的商品列表。

    2、在鼠标滚动浏览商品的同时,根据左侧的商品信息的变化情况,右侧的分类名称会自动标红。表示现在浏览的商品正是该分类下的商品。

实现的基本思路:

    1、设置锚点。在导航栏的标签中,设置"href"属性为各个展示商品信息的


            
        ...(具体商品)...

        ...(具体商品)...

        ...(具体商品)...

        ...(具体商品)...

        ...(具体商品)...

    


        ...

    以上就完成了该网站的雏形(在此不展示css的制作过程),并且点击

    标签中的各个
  • 标签都能跳转到相应的
    标签。

        2、设置“当前样式”:

            为了简单起见,我们设置一个表示当前商品分类的样式,如下所示:

    .current{
        background:red;
    }

            然后给导航栏中的“1F手机”设置一个“当前样式”,默认我们是从头开始浏览网站。接下来需要做的是利用jquery根据商品信息,自动给导航栏中的分类添加“当前样式”。


        这就已经完成了导航栏中分类名跟随商品变化而变化的效果了,在这里需要解释一下,这个效果实现的关键点在于,怎么样根据左侧的div区域的高度和右侧的滚动条的高度去判定在哪一个分类。

        在代码中我们看到“var scrolltop = $(document).scrollTop();”指的是滚动条的高度,如图:

    (JQuery学习笔记)利用jquery制作网页导航定位

        另外,var divTop = $(this).offset().top;指的是该div距离浏览器顶部的高度,如图:

    (JQuery学习笔记)利用jquery制作网页导航定位

        所以我们可以根据两者的高度,来判断某个div区域是属于哪个商品分类,从而对其分类名称进行样式的改变。

        最后还有一个小小的问题,就是锚点定位偏移的情况。

        可能会出现的是,点击某一分类,自动跳转的并不是对应div的区域,或是偏移了。参考了网上各位前辈的做法,目前我所知道的是,用两个属性——padding-top和maring-top来解决偏移问题,具体方法如下:

        padding-top用于解决锚点区域与顶部的偏移量

        margin-top用于解决锚点区域与锚点区域之间因设置的padding-top而产生的不必要偏移量

        padding-top用正值,maring-top用负值,二者数值一样

        若发现最底部的锚点区域有高度不够问题,则可以给底部锚点区域设置一个min-height解决

        min-height:属性设置元素的最小高度。

    如果以后我还了解到有其他的方法,也会在这写出来,欢迎各位提出建议或问题一起交流。

    代码学习参考:《慕课网》,网页导航栏的制作。感谢。

    另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


    本文名称:(JQuery学习笔记)利用jquery制作网页导航定位-创新互联
    文章来源:http://sczitong.cn/article/jegsj.html