每天学一个jquery插件-悬浮的菜单,供大家参考,具体内容如下
又是一个很常见的效果,用上了a标签的一个常见的特性-锚点
效果如下
代码部分
<!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 > |
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理