首页 > 代码库 > 个人第一个jquery插件(tips)
个人第一个jquery插件(tips)
js代码
/** * Created by joesbell on 2016/10/8. */;(function($) { var defaults = { background:"#000",//tips的背景颜色 color:"white", position:"r",//出现的位置 l--左边, r--右边 t--顶部 b--底部 parWidth:"",//父级元素的宽度 parHeight:"",//父级元素的高度 tipsJ:"10px",//tips的距离父级距离偏移量 tipsP:"20px",//tips的居中位置偏移量 padding:"10px",//文字提示内边距 txt:"helloWorld",//文字 IconPos:"10px",//小箭头居中位置偏移量 speed:"200",//tips出现的速度延迟 }; function se(){ setTimeout(function () { $(".tip_JS").remove(); },200) }; $.fn.JSTips= function(options) { var options = $.extend({}, defaults, options); return this.each(function() { var parentWidth=$(this).width(); var parentHeight=$(this).height(); options.parWidth=parentWidth; options.parHeight=parentHeight;// $(this).append(joesO(options)); $(this).on("mouseenter",function () { $(this).append(joesTips(options)); }); $(this).on("mouseleave",function () { se(); }) }); }; function joesTips(opts) { var layEle=$("<div class=‘tip_JS‘></div>"); var layE=$("<div class=‘txt_JS‘></div>"); var cs=$("<i></i>"); var pe=$("<p class=‘tipTxt_JS‘></p>") var tipsP=parseInt(opts.tipsP); var tipsJ=parseInt(opts.tipsJ); var PW=opts.parWidth; var PH=opts.parHeight; var position=opts.position; var bg=opts.background; var pd=parseInt(opts.padding); var txt=opts.txt; var IconPos=opts.IconPos; var speed=parseInt(opts.speed); var color=opts.color; pe.appendTo(layE).css({ padding:pd, }); pe.html(txt); layE.appendTo(layEle); $(".test:after").css({ "border-color":bg });// tips出现在右边 if(position=="r"){ layEle.css({ background:bg, left:PW+tipsJ, top:tipsP, color:color }).show(speed); cs.addClass("triangle-left").css({ top:IconPos, "border-right-color":bg }).appendTo(layE); }else if(position=="l"){ // tips出现在左边 layEle.css({ background:bg, right:PW+tipsJ, top:tipsP, color:color }).show(speed); cs.addClass("triangle-right").css({ top:IconPos, "border-left-color":bg }).appendTo(layE); }else if(position=="b"){ layEle.css({ background:bg, top:PH+tipsJ, left:tipsP, color:color }).show(speed); cs.addClass("triangle-up").css({ left:IconPos, "border-bottom-color":bg }).appendTo(layE); // tips出现在底部 }else if(position=="t"){ // tips出现在顶部 layEle.css({ background:bg, bottom:PH+tipsJ, left:tipsP, color:color }).show(speed); cs.addClass("triangle-down").css({ left:IconPos, "border-top-color":bg }).appendTo(layE); } return layEle }})(jQuery);
css代码
/*上箭头*/.triangle-up { position: absolute; width:0; height:0; bottom: 100%; border:10px solid transparent; border-bottom-color:yellow;}/*下箭头*/.triangle-down { position: absolute; width:0; height:0; top:100%; /*transform: translate(-50%,-50%);*/ border:10px solid transparent; border-top-color:yellow;}/*左箭头*/.triangle-left { position: absolute; width:0; height:0; right: 100%; border:10px solid transparent; border-right-color:yellow;}/*右箭头*/.triangle-right { position: absolute; width:0; height:0; left: 100%; margin: auto; /*transform: translate(-50%,0);*/ border:10px solid transparent; border-left-color:yellow;}.tip_JS{ position: absolute; display: none; width: auto;}.txt_JS{ position: relative;}.tipTxt_JS{ white-space: nowrap;}
测试
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> *{ margin: 0; padding: 0; } .p{ position: relative; width: 500px; height: 500px; background: #000; margin: 0 auto; margin-top: 200px; } </style> <link rel="stylesheet" href="./Tips/myTips.css"></head><body><div class="p"> <p style="color: wheat">我的第一个tips插件</p></div></body><script src="jquery-1.12.2.min.js"></script><script src="./Tips/myTips.js"></script><script> $(".p").JSTips({// background:"rgba(0,0,0,0.5)",// position:"l",// tipsP:"150px",// txt:"helloWorld",// IconPos:"10px",// speed:"200", });</script></html>
个人第一个jquery插件(tips)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。