怎么用js弹出提示框

JavaScript08

怎么用js弹出提示框,第1张

弹出提示框一般有3种

1)alert (普通提示框)

2)prompt (可输入的提示框)

3)confirm (可选择的提示框)

下面举个例子:

<!doctype html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

<button onclick="mal()">第一种:alert</button>

<button onclick="mpro()">第二种:prompt</button>

<button onclick="mcon()">第三种:confirm</button>

<script>

    function mal(){

        alert('这是一个普通的提示框')

    }

    function mpro(){

        var val = prompt('这是一个可输入的提示框','这个参数为输入框默认值,可以不填哦')

        //prompt会把输入框的值返回给你

    }

    function mcon(){

        var boo = confirm('这是一个可选择的提示框,3种提示方式,学会了吗?')

        //confirm 会返回你选择的选项,然后可以依据选择执行逻辑

        if(boo){

            alert('学会了,真聪明')

        }else{

            alert('再来一遍吧')

        }

    }

</script>

</body>

</html>

1、加入语音提示

<audio id="sound" autoplay="autoplay">

动态加入播放语音文件代码:

document.getElementById("sound").src="<%=basePath%>admin/media/global.wav"

2、动态弹出消息提示框:

在此处我导入了jquery.gritter.js和jquery.gritter.css,具体实现代码:

jQuery(document).ready(function() {

setInterval(function(){

$.post('ajax/linecheck',function(data){

var json=eval("("+data+")")

$.each(json,function(index,item){

$("#line"+item.id).html("")

$.each(item.localList,function(index,item2){

if(item2.attendOCList!=""){

$("#line"+item.id).append("<li class='in' id='in"+item2.id+"'><div class='avatar'>"

+item2.location+"</div><div class='message'><ul id=li"+item2.id+"></ul></div></li>")

}

$.each(item2.attendOCList,function(index,item3){

if(item3.status==0){

$("#li"+item2.id).append("<li class='user'><span class='username'>"+item3.person_name

+"</span><br><span style='color:red' class='username'>时间: "

+ item3.today+" "+item3.times +"</span><br><span class='username'>电话:"

+item3.person_phone+"</span><br><span class='username'>身份证:"

+item3.card_id+"</span></li><hr>")

}else{

$("#li"+item2.id).append("<li class='user'><span class='username'>"

+item3.person_name+"</span><br><span style='color:red' class='username'>时间: "

+ item3.today+" "+item3.times +"</span><br><span class='username'>电话:"

+item3.person_phone+"</span><br><span class='username'>身份证:"

+item3.card_id+"</span></li><hr>")

document.getElementById("sound").src="<%=basePath%>admin/media/global.wav"

setTimeout(function () {

var unique_id = $.gritter.add({

title: item3.person_name+"("+item2.location+")",

text:"<span class='username'>"+item3.person_name

+"</span><br><span style='color:red' class='username'>时间: "

+ item3.today+" "+item3.times +"</span><br><span class='username'>电话:"

+item3.person_phone+"</span><br><span class='username'>身份证:"+item3.card_id+"</span>",

sticky: true,

time: '',

class_name: 'my-sticky-class'

})

setTimeout(function () {

$.gritter.remove(unique_id, {

fade: true,

speed: 'slow'

})

}, 12000)

}, 2000)

}

})

})

思路:

如果要输入多个信息,那么原生的提示框肯定不符合要求,需要自己定义。

一般都是使用div层模拟提示框,这样就可以随便布局了。

代码示例:

1、定义CSS

<style type="text/css">

        body {

            height: 100%

            overflow: auto

            margin: 0

        }

        #test_Div {

            position: fixed

            _position: absolute

            top: 50%

            left: 50%

            border: 2px solid #C0C0C0/*弹出框边框样式*/

            background-color: #FFFFFF/*弹出框背景色*/

            display:none

        }

        * html {

            overflow: hidden

            position: absolute

        }

    </style> 2、简单点,引入JQuery

 <script type="text/javascript" src="js/jquery.min.js"></script>

    <script type="text/javascript" src="js/jquery_ui/js/jquery-ui-1.9.2.custom.min.js"></script> 3、弹出层

        function show_Win(div_Win, tr_Title, event) {

            var s_Width = document.documentElement.scrollWidth //滚动 宽度

            var s_Height = document.documentElement.scrollHeight //滚动 高度

            var js_Title = $(document.getElementById(tr_Title)) //标题

            js_Title.css("cursor", "move")

            //创建遮罩层

            $("<div id=\"div_Bg\"></div>").css({ "position": "absolute", "left": "0px", "right": "0px", "width": s_Width + "px", "height": s_Height + "px", "background-color": "#ffffff", "opacity": "0.6" }).prependTo("body")

            //获取弹出层

            var msgObj = $("#" + div_Win)

            msgObj.css('display', 'block') //必须先弹出此行,否则msgObj[0].offsetHeight为0,因为"display":"none"时,offsetHeight无法取到数据;如果弹出框为table,则为'',如果为div,则为block,否则textbox长度无法充满td

            //y轴位置

            var js_Top = -parseInt(msgObj.height()) / 2 + "px"

            //x轴位置

            var js_Left = -parseInt(msgObj.width()) / 2 + "px"

            msgObj.css({ "margin-left": js_Left, "margin-top": js_Top })

            //使弹出层可移动

            msgObj.draggable({ handle: js_Title, scroll: false })

        } 4、调用

<input type="button" value="测试弹出框" onclick="show_Win('div_Test', 'title', event)" />

        <div id="div_Test">

            <div id="title" style="border: 1px solid red">标题</div>

            内容

        </div>