首页 > 其他分享 >js---弹框提示和确认提示

js---弹框提示和确认提示

时间:2023-02-21 00:44:16浏览次数:31  
标签:function height obj confirm 提示 object 弹框 --- main

最近在开发PC端项目的时候,涉及到前后端交互,需要有一个弹框提示和一个确认弹框的提示,当然使用浏览器的 alert 和 confirm 就能够解决这个问题,但是这个的样式太丑了,不好看,考虑到其复用性,所以自己动手做了一个。

效果:

1、提示框:

 2、确认框:

 具体代码示例:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>提示&弹框确认</title>
<style type="text/css">
*{margin: 0; padding: 0;}
.main-header{width: 100%; text-align: center; font-size: 24px; font-weight: bold; margin: 50px auto 0;}
.main-action{width: 800px; overflow: hidden; margin: 50px auto 0;}
.main-action .btn{width: 140px; height: 60px; line-height: 60px; font-size: 16px; text-align: center; float: left; background: #409EFF; color: #fff; margin: 0 15px 15px 0; cursor: pointer;}
/**/
.main-tips{position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 500;}
.main-tips .tips-message{position: fixed; top: 40%; left: 50%; background: rgba(0,0,0,0.7); height: 35px; line-height: 35px; font-size: 15px; color: #fff; padding: 0 10px; border-radius: 4px; overflow: hidden; transform:translateX(-50%); -webkit-transform:translateX(-50%);}
/**/
.main-confirm{width: 300px; height: 170px; position: fixed; top: calc(40% - 95px); left: calc(50% - 150px); border-radius: 3px; overflow: hidden; box-shadow: 1px 1px 50px rgb(0 0 0 / 30%); display: none;}
.main-confirm .confirm-title{padding: 0 15px; height: 45px; line-height: 45px; font-size: 15px; border-bottom: 1px solid #eee;}
.main-confirm .confirm-content{padding: 20px 15px 10px; height: 40px;}
.main-confirm .confirm-btn{padding: 0 15px; overflow: hidden;}
.main-confirm .confirm-btn .btn-item{min-width: 75px; height: 30px; line-height: 30px; background: #fff; border: 1px solid #dedede; border-radius: 2px; font-weight: 400; cursor: pointer; font-size: 14px; color: #333; padding: 0 5px; text-align: center; margin-left: 10px; float: right;}
.main-confirm .confirm-btn .btn-item.confirm{border-color: #409EFF; background: #409EFF; color: #fff;}
</style>
</head>
<body>

<div class="main-header">常见前端样式</div>

<div class="main-action">
  <div class="btn tips">提示</div>
  <div class="btn confirm">确认框</div>
</div>

<div class="main-confirm">
  <div class="confirm-title">提示<i class="icon iconfont icon-no"></i></div>
  <div class="confirm-content">请先登录!</div>
  <div class="confirm-btn">
    <div class="btn-item confirm">立即登录</div>
    <div class="btn-item cancel">取消</div>
  </div>
</div>

<script type="text/javascript" src="http://www.htmleaf.com/js/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(".tips").click(function(){
  tips('我是一个提示框!');
});
$(".confirm").click(function(){
  confirms({
    title: '提示',
    content: '请先登录!',
    cancelText: '取消',
    confirmText: '立即登录',
    confirm: function(){
      console.log('confirm');
    },
    cancel: function(){
      console.log('cancel');
    }
  });
});
</script>
<script type="text/javascript">
// 弹框提示
function tips(msg,time=1000){
  $(".main-tips").remove();
  $("body").append('<div class="main-tips"><div class="tips-message">'+ msg +'</div></div>');
  setTimeout(function(){
    $(".main-tips").remove();
  },time);
}
// 弹框确认
function confirms(obj){
  var random = 'confirm' + parseInt(Math.random() * 1000);
  var confirmStr = '<div class="main-confirm '+random+'">'+
    '<div class="confirm-title">'+(obj.title ? obj.title : '提示')+'<i class="icon iconfont icon-no"></i></div>'+
    '<div class="confirm-content">'+(obj.content ? obj.content : '内容')+'</div>'+
    '<div class="confirm-btn">'+
      '<div class="btn-item confirm">'+(obj.confirmText ? obj.confirmText : '确定')+'</div>'+
      '<div class="btn-item cancel">'+(obj.cancelText ? obj.cancelText : '取消')+'</div>'+
    '</div>'+
  '</div>';
  $(".main-confirm").remove();
  $("body").append(confirmStr);
  var object = $(".main-confirm."+random);
  object.stop(true,true).fadeIn();
  object.find(".icon").click(function(){
    object.stop(true,true).fadeOut();
    object.remove();
    obj.cancel();
  });
  object.find(".btn-item.confirm").click(function(){
    object.stop(true,true).fadeOut();
    object.remove();
    obj.confirm();
  });
  object.find(".btn-item.cancel").click(function(){
    object.stop(true,true).fadeOut();
    object.remove();
    obj.cancel();
  });
}
</script>
</body>
</html>

打完收工!

标签:function,height,obj,confirm,提示,object,弹框,---,main
From: https://www.cnblogs.com/e0yu/p/17139509.html

相关文章

  • ue5 - 修改默认关卡
    1.背景启动游戏或者启动虚幻引擎编辑,总是进入新项目默认的关卡,我需要进入我指定的关卡2.解决打开编辑》项目设置  找到 地图和模式 里的编辑器开始地图和......
  • easy-captcha使用
    1.pom.xml<!--图形验证码--><dependency><groupId>com.github.whvcse</groupId><artifactId>easy-captcha</artifactId><version>1.6.2</version></depend......
  • K8S-kubeadm部署
    一.部署环境master(2C/4G,cpu核心数要求大于2)192.168.61.100docker、kubeadm、kubelet、kubectl、flannelnode01(2C/2G)192.16......
  • K8S-声明式-yaml文件
    一.yaml概述Kubernetes支持YAML和JSON格式管理资源对象JSON格式:主要用于api接口之间消息的传递YAML格式:用于配置和管理,YAML是一种简洁的非标记性语言,内容格......
  • K8S-kubectl
    一.kubectl资源管理1.1资源管理方法:陈述式和声明式Kubectl是Kubernetes的命令行工具,它可以用来管理和操作Kubernetes集群中的资源。在Kubectl中,有两种常见的资源管理方......
  • spark-3.3.2-bin-hadoop3-scala2.13 Local模式
    目标搭建单机开发环境,执行pyspark程序安装Anaconda3-2022.10-Linux-x86_64.sh安装pycharm-community-2022.3.2.tar.gz 环境OS:Ubuntu22基础包安......
  • vue-cli创建 vue创建项目 vue项目目录介绍 es导入导出
    目录回顾vue-cli创建项目创建vue项目使用什么vue创建项目vue项目目录介绍es导入导出语法App.vuemain.jsAbout.vue写了什么导入导出语法vue项目编写步骤小练习-登录功......
  • kotlin-run、with、apply、also、let
    kotlin的作用域函数主要有run、with、apply、also、let这几个函数的目的是:在对象的上下文中执行代码块。当对一个对象调用这样的函数并提供一个lambda表达式时,它会形成......
  • 【Java-01-3】java基础-基本语法(3)(数组,多维数组)
    importjava.io.*;publicclass_07_Array{publicstaticvoidmain(String[]args){//1定义数组System.out.println("1定义数组");......
  • vue-cli创建项目 vue项目目录介绍 es6导入导出语法 scoped
    上节回顾#1组件使用-局部-全局#2组件间通信一旦组件化开发--->组件间通信-父传子:自定义属性-子穿父:自定义事件-ref属......