JavaScript 自己手写实现一个弹窗

系统管理员 2023-02-22 10:56 72阅读 0赞

项目中有很多地方会使用到弹窗,现在咱们自己写一个有弹出效果的弹窗.
html 部分一个按钮 一个弹窗盒子 一个蒙板层代码:

  1. <!--按钮 盒子的css-->
  2. <style>
  3. .btn{display: inline-block;padding: .2rem .4rem;border-radius: .1rem;border: 1px solid #dddddd;font-size: .26rem}
  4. .confirmBox{width: 70%;margin-left: 15%;border-radius: .1rem;opacity: 0;font-size: .26rem;position: relative;z-index: 101;background-color: #FFFFFF}
  5. .confirmBox>p{text-align: center}
  6. .confirmBtn{width: 30%;line-height: .5rem;border: 1px solid #939393;border-radius: .1rem;margin-left: 13.3%;display: inline-block}
  7. </stype>
  8. <p class="btn" onclick="showBox()">弹窗1</p>
  9. <div class="confirmBox">
  10. <p style="text-align: center">标题</p>
  11. <textarea name="" id="" cols="40" rows="3" style="border: none;width: 100%;padding: 0"> 内容部分…………</textarea>
  12. <p class="btnSure" onclick="sure(1)">确定</p>
  13. <p class="btnCancel" onclick="sure(0)">取消</p>
  14. </div>
  15. <!--蒙板层样式-->
  16. <style>
  17. .maskModal {overflow: auto;position: fixed;top: 0;right: 0;bottom: 0;left: 0;z-index: 100;background-color: rgba(0,0,0,.5);}
  18. </style>
  19. <div class="maskModal" style="display: none;"></div>

js 部分当按钮被点击的时候这个弹窗的盒子出现,并且有个弹出的效果,蒙版层遮住主体部分,突出弹出部分。这个通过给弹窗盒子添加一个class来实现。弹出效果使用一个动画。

css:

  1. .tipShow
  2. {
  3. opacity:1;
  4. transition: opacity .5s;
  5. border: 1px solid #dddddd;
  6. animation:showPanel .5s ease
  7. }
  8. /**动画部分**/
  9. @keyframes showPanel
  10. {
  11. 0% {transform:scale(0.5);opacity:0.0;}
  12. 50% {transform:scale(1.05);opacity:1.0;}
  13. 100% {transform:scale(1);opacity:1.0;}
  14. }

js:

  1. <script src="js/jquery-2.1.4.min.js"></script>
  2. <script>
  3. var showBox=function () {
  4. $(".confirmBox").addClass('tipShow');
  5. $(".maskModal").show();
  6. }
  7. var sure=function (type) {
  8. $(".confirmBox").removeClass('tipShow');
  9. $(".maskModal").hide();
  10. if(type==1){
  11. console.log('点击确定要做的事')
  12. }else {
  13. console.log('点击取消')
  14. }
  15. }
  16. $(".maskModal").click(function () {
  17. $(".maskModal").hide();
  18. $(".confirmBox").removeClass('tipShow');
  19. })
  20. </script>

发表评论

表情:
评论列表 (有 0 条评论,72人围观)

还没有评论,来说两句吧...

相关阅读

    相关 javaScript 一个

    我们在做后台管理的时候经常需要弹出一个会话窗体,这是我们可以用框架带的接口来弹出,也可以用jQuery带的来弹出,并且现在jQuery被大量使用,所以还是这种好用点,不用额外引