博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
楼层导航
阅读量:5079 次
发布时间:2019-06-12

本文共 3264 字,大约阅读时间需要 10 分钟。

鼠标滚动到某个楼层,某个楼层的楼层按钮高亮显示,点击左边的楼层按钮,页面直接定位到这个楼层

html:

  <div style="height: 100px;text-align: center" class="head">头部</div>

  <div class="main">

    <div style="background-color: red;" class="louti">服饰</div>
    <div style="background-color:chartreuse;" class="louti">美妆</div>
    <div style="background-color: indianred;" class="louti">手机</div>
    <div style="background-color: darkgreen;" class="louti">家电</div>
    <div style="background-color: beige;" class="louti">数码</div>
    <div style="background-color: hotpink;" class="louti">运动</div>
    <div style="background-color: #abcdef;" class="louti">居家</div>
    <div style="background-color: lightpink;" class="louti">母婴</div>
    <div style="background-color: aqua;" class="louti">食品</div>
    <div style="background-color: #abcdef;" class="louti">图书</div>
  </div>

  <ul>

    <li>1F<span>服饰</span></li>
    <li>2F<span>美妆</span></li>
    <li>3F<span>手机</span></li>
    <li>4F<span>家电</span></li>
    <li>5F<span>数码</span></li>
    <li>6F<span>运动</span></li>
    <li>7F<span>居家</span></li>
    <li>8F<span>母婴</span></li>
    <li>9F<span>食品</span></li>
    <li>10F<span>图书</span></li>
  </ul>

css:  

  * {

    margin:0;
    padding:0;
  }
  .main div {
    width:90%;
    height:400px;
    text-align:center;
    margin:10px auto;
  }
  li {
    list-style-type:none;
    width:40px;
    height:40px;
    line-height:40px;
    text-align:center;
    border-bottom:1px dashed #aaa;
    position:relative;
  }
  li.hover {
    background-color:#c81623;
  }
  /*鼠标移动上去后的效果*/
  li span {
    display:none;
    position:absolute;
    width:40px;
    height:40px;
    text-align:center;
  }
  li.hover span {
    display:block;
    top:0;
    left:0;
    background-color:#c81623;
    color:white;
  }
  /*鼠标移动上去后的效果*/
  ul {
    position:fixed;
    left:10px;
    top:100px;
    display:none;
  }
  li span.cli {
    display:block;
    top:0;
    left:0;
    background-color:#c81623;
    color:white;
  }

js:

//鼠标移动上去的事件

  $(function() {
    $("ul li").hover(function() {
    $(this).addClass("hover");
  }, function() {
    $(this).removeClass("hover");
  });

  var mark = 1;

  //鼠标点击事件
  $("ul li").click(function() {
    $(this).find("span").addClass("cli");
    $(this).siblings().find('span').removeClass("cli"); //siblings为找到该li的所有同辈元素;
  });
  //鼠标点击跳转效果
  $("ul li").click(function() {
    mark = 2;
    var index = $(this).index();
    var h = $(".louti").eq(index).offset().top; //offset为获取匹配元素在当前视口的相对偏移,有top和left;
    $('body').animate({
      scrollTop: h
    }, 500, function() { //scrollTop为获取匹配元素相对滚动条顶部的偏移。
      mark = 1
    })
  });

  $(window).scroll(function() {

    var H = $(this).scrollTop(); //获取滚动条的高度
    if (mark == 1) {
    $(".louti").each(function() {
    index = $(this).index();
    h = $(".louti").eq(index).offset().top;
    if (H >= h) {
      $("li").eq(index).find("span").addClass("cli");
      $("li").eq(index).siblings().find("span").removeClass("cli")
    }
  });
}
//当滚动到一定高度时楼梯式导航消失与显示
  var $height = $(window).scrollTop();
  var $main_h = $(".main").offset().top;
  console.log($height);
  console.log($main_h);
  if ($height > $main_h) {
    $("ul").fadeIn(600);
  } else {
    $("ul").fadeOut(600);
  }
  })
})

转载于:https://www.cnblogs.com/xiaofang-FE/p/6835854.html

你可能感兴趣的文章
Oarcle 之DML
查看>>
mysql 严格模式 Strict Mode说明
查看>>
《大道至简》读后感
查看>>
Linux学习之基本操作命令
查看>>
关于三可变镜头
查看>>
ssh连接ubuntu提示连接不上的问题
查看>>
js正则笔记
查看>>
三、线程
查看>>
iOS在app内部发送邮件
查看>>
论Makefile的重要性(一)-----Linux C开发
查看>>
IT项目管理工具总结
查看>>
阅读 DPDK 中文论文两则
查看>>
jquery放大镜非常漂亮噢
查看>>
[转]nginx做负载均衡的几种方式
查看>>
EasyUI:一、入门
查看>>
表单详解
查看>>
bzoj 2242: [SDOI2011]计算器
查看>>
001-计算机网络目录
查看>>
Android 获取 联系人信息
查看>>
JS动态修改页面EasyUI datebox不生效、EasyUI动态添加Class、EasyUI动态渲染解析解决方案...
查看>>