jquery插件实现悬浮的菜单


Posted in jQuery onApril 24, 2021

每天学一个jquery插件-悬浮的菜单,供大家参考,具体内容如下

悬浮的菜单

又是一个很常见的效果,用上了a标签的一个常见的特性-锚点

效果如下

jquery插件实现悬浮的菜单

代码部分

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>悬浮的菜单</title>
  <script src="js/jquery-3.4.1.min.js"></script>
  <style>
   *{
    margin: 0px;
    padding: 0px;
    user-select: none;
   }
   .item{
    border: 1px solid lightgray;
    margin: 10px;
    height: 400px;
    border-radius: 5px;
    position: relative;
   }
   .head{
    background-color: lightgray;
    height: 30px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-indent: 10px;
    position: absolute;
    top: 0px;
    width: 100%;
   }
   .fbox{
    position: fixed;
    top: 20%;
    bottom: 20%;
    right: 20px;
    width: 150px;
    border: 1px solid lightgray;
    background-color: white;
    border-radius: 5px;
   }
   .main{
    position: absolute;
    top: 30px;
    width: 100%;
    bottom: 0px;
    overflow: auto;
   }
   .main ul{
    margin-left: 30px;
   }
   a{
    color: gray;
   }
  </style>
 </head>
 <body>
 </body>
</html>
<script>
 $(document).ready(function(){
  //添加测试dom,产生测试数据
  var arr = [];
  for(var i = 0;i<50;i++){
   var id = 'id'+i;
   var $dom = $("<div class='item' id='"+id+"'><div class='head'>"+id+"</div></div>");
   $dom.appendTo($("body"));
   arr.push(id);
  }
  //调用方法
  $.fmenu(arr);
 })
 $.extend({
  fmenu:function(arr){
   $(".fbox").remove();
   var $fbox = $("<div class='fbox'></div>");
   var $head  =$("<div class='head'>悬浮菜单</div>");
   var $main = $("<div class='main'></div>");
   var $ul = $("<ul class='ul'></ul>")
   $ul.appendTo($main);
   $head.appendTo($fbox);
   $main.appendTo($fbox);
   $fbox.appendTo($("body"));
   arr.forEach(item=>{
    var $li = $("<li><a href='#"+item+"'>"+item+"</a></li>");
    $li.appendTo($ul);
   })
  }
 })
</script>

思路解释

  • a标签不只是用来做超链接用的,其实还可以用来做下载文件的通道,也可以用来做文档位置的导航
  • 就比如你的某一组属性是个在当前页面中查得到的,比如#id 、.class,按照选择器的方式来,用js来做就是拿到选择的这个路径然后获得他的文档高度,再让浏览器滚动到对应的高度。
  • 而a.href直接等于选择的对象就可以直接锚点定位到对应的位置。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jquery仿微信聊天界面
May 06 jQuery
jQuery实现拖动效果的实例代码
Jun 25 jQuery
jQuery实现html table行Tr的复制、删除、计算功能
Jul 10 jQuery
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
Aug 01 jQuery
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
Nov 14 jQuery
jQuery发请求传输中文参数乱码问题的解决方案
May 22 jQuery
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 jQuery
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
Sep 03 jQuery
jQuery三组基本动画与自定义动画操作实例总结
May 09 jQuery
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 jQuery
jQuery实现简单飞机大战
Jul 05 jQuery
jQuery实现B2B网站后台管理系统侧导航
Jul 08 jQuery
jquery插件实现代码雨特效
Apr 24 #jQuery
jquery插件实现搜索历史
Apr 24 #jQuery
jquery插件实现图片悬浮
jQuery实现影院选座订座效果
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
jQuery treeview树形结构应用
Mar 24 #jQuery
jQuery实现鼠标拖动图片功能
Mar 04 #jQuery
You might like
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
js类中获取外部函数名的方法
2007/08/19 Javascript
一个XML格式数据转换为图表的例子
2010/02/09 Javascript
仅IE支持clearAttributes/mergeAttributes方法使用介绍
2012/05/04 Javascript
使用javascript过滤html的字符串(注释标记法)
2013/07/08 Javascript
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
JavaScript获取当前页面上的指定对象示例代码
2014/02/28 Javascript
JS函数重载的解决方案
2014/05/13 Javascript
JavaScript中对循环语句的优化技巧深入探讨
2014/06/06 Javascript
bootstrap data与jquery .data
2014/07/07 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
详解Vue使用命令行搭建单页面应用
2017/05/24 Javascript
Vue侧滑菜单组件——DrawerLayout
2017/12/18 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
2018/12/10 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
2019/08/13 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
2020/02/07 Javascript
JS实现无限轮播无倒退效果
2020/09/21 Javascript
Python二叉树定义与遍历方法实例分析
2018/05/25 Python
Django开发中的日志输出的方法
2018/07/02 Python
django 快速启动数据库客户端程序的方法示例
2019/08/16 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
2020/04/02 Python
django 模型字段设置默认值代码
2020/07/15 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
2020/08/27 Python
纯DOM+CSS3实现简单的小风车动画
2016/09/27 HTML / CSS
css3实现超立体3D图片侧翻倾斜效果
2014/04/16 HTML / CSS
佳能英国官方网站:Canon UK
2017/08/08 全球购物
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
vue实现倒计时功能
2021/03/24 Vue.js
2014年廉洁自律承诺书
2014/05/26 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书
《合作意向书》怎么写?
2019/08/20 职场文书
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL