zoukankan      html  css  js  c++  java
  • 弹窗

    test

    var html = "<div style='color:red'>"+str1+"</div>";
    var button ="<input type='button' value='确定' /><input type='button' value='取消' />";
                var win = new Window({
                    
                    width : 700, //宽度
                    height : 500, //高度
                    title : '弹窗', //标题
                    content : html, //内容
                    isMask : false, //是否遮罩
                    buttons : button, //按钮
                    isDrag:true,
                    
                    });

    tanchuang.css

    .zhuti
    {
    position:absolute;
    z-index:3;
    font-size:14px;
    border-radius:5px;
    box-shadow:0 0 5px white;
    overflow:hidden;
    color:#333;
    }
    .title
    {
    background-color:#3498db;
    vertical-align:middle;
    height:35px;
    100%;
    line-height:35px;
    text-indent:1em;
    }
    .close{
    float:right;
    35px;
    height:35px;
    font-weight:bold;
    line-height:35px;
    vertical-align:middle;
    color:white;
    font-size:18px;
    }
    .close:hover
    {
    cursor:pointer;
    }
    .content
    {
    text-indent:1em;
    padding-top:10px;
    }
    .btnx
    {
    height:30px;
    100%;
    text-indent:1em;
    }
    .btn
    {
    height:28px;
    80px;
    float:left;
    margin-left:20px;
    color:#333;
    }
    #zz
    {
    100%;
    height:100%;
    opacity:0.15;
    display:none;
    background-color:#ccc;
    z-index:2;
    position:absolute;
    top:0px;
    left:0px;
    }

    tanchuang.js

    // 每个弹窗的标识
    var x =0;
    var idzt = new Array();
    var Window = function(config){
        
        //ID不重复
        idzt[x] = "zhuti"+x;  //弹窗ID
        
        //初始化,接收参数
        this.config = {
            width : config.width || 300, //宽度
            height : config.height || 200, //高度
            buttons : config.buttons || '', //默认无按钮
            title : config.title || '标题', //标题
            content : config.content || '内容', //内容
            isMask : config.isMask == false?false:config.isMask || true, //是否遮罩
            isDrag : config.isDrag == false?false:config.isDrag || true, //是否移动
            };
        
        //加载弹出窗口
        var w = ($(window).width()-this.config.width)/2;
        var h = ($(window).height()-this.config.height)/2;
        
        var nr = "<div class='zhuti' id='"+idzt[x]+"' bs='"+x+"' style='"+this.config.width+"px; height:"+this.config.height+"px; background-color:white; left:"+w+"px; top:"+h+"px;'></div>";
        $("body").append(nr);
        
        //加载弹窗标题
        var content ="<div id='title"+x+"' class='title' bs='"+x+"'>"+this.config.title+"<div id='close"+x+"' class='close' bs='"+x+"'>×</div></div>";
        //加载弹窗内容
        var nrh = this.config.height - 75;
        content = content+"<div id='content"+x+"' bs='"+x+"' class='content' style='100%; height:"+nrh+"px;'>"+this.config.content+"</div>";
        //加载按钮
        content = content+"<div id='btnx"+x+"' bs='"+x+"' class='btnx'>"+this.config.buttons+"</div>";
        
        //将标题、内容及按钮添加进窗口
        $('#'+idzt[x]).html(content);
        
        //创建遮罩层
        if(this.config.isMask)
        {
            var zz = "<div id='zz'></div>";
            $("body").append(zz);
            $("#zz").css('display','block');
        }
        
        //最大最小限制,以免移动到页面外
        var maxX = $(window).width()-this.config.width;
        var maxY = $(window).height()-this.config.height;
        var minX = 0,
            minY = 0;
        
        //窗口移动
        if(this.config.isDrag)
        {
            //鼠标移动弹出窗
            $(".title").bind("mousedown",function(e){
                    
                    var n = this.getAttribute("bs"); //取标识
                    
                    //使选中的到最上层
                    $(".zhuti").css("z-index",3);
                    $('#'+idzt[n]).css("z-index",4);
                    
                    //取初始坐标
                    var endX = 0, //移动后X坐标
                        endY = 0, //移动后Y坐标
                        startX = parseInt($('#'+idzt[n]).css("left")), //弹出层的初始X坐标
                        startY = parseInt($('#'+idzt[n]).css("top")), //弹出层的初始Y坐标
                        downX = e.clientX, //鼠标按下时,鼠标的X坐标
                        downY = e.clientY; //鼠标按下时,鼠标的Y坐标
                        
                    //绑定鼠标移动事件
                    $("body").bind("mousemove",function(es){
                        
                        endX = es.clientX - downX + startX; //X坐标移动
                        endY = es.clientY - downY + startY; //Y坐标移动
                        
                        //最大最小限制
                        if(endX > maxX)
                        {
                            endX = maxX;
                        } else if(endX < 0)
                        {
                            endX = 0;
                        }
                        if(endY > maxY)
                        {
                            endY = maxY;
                        } else if(endY < 0)
                        {
                            endY = 0;
                        }
                        
                        $('#'+idzt[n]).css("top",endY+"px");
                        $('#'+idzt[n]).css("left",endX+"px");
                        
                        window.getSelection ? window.getSelection().removeAllRanges():document.selection.empty(); //取消选中文本
                        
                        });
                });
            //鼠标按键抬起,释放移动事件
            $("body").bind("mouseup",function(){
                
                    $("body").unbind("mousemove");
                
                });
        }
        
        //关闭窗口
        $(".close").click(function(){
            
                var m = this.getAttribute("bs"); //找标识
                $('#'+idzt[m]).remove(); //移除弹窗
                $('#zz').remove(); //移除遮罩 
            
            })
            
            x++;  //标识增加
            
    }
  • 相关阅读:
    希尔伯特空间
    Java基础之类型转换总结篇
    超实用在线编译网站,编辑器
    3269: 万水千山粽是情
    Problem A: 李白打酒
    2370: 圆周率
    C语言fmod()函数:对浮点数取模(求余)
    C语言exp()函数:e的次幂函数(以e为底的x次方值)
    2543: 数字整除
    2542: 弟弟的作业
  • 原文地址:https://www.cnblogs.com/jinshui/p/5862409.html
Copyright © 2011-2022 走看看