zoukankan      html  css  js  c++  java
  • JS 弹窗到右下角

    <div id="msg_win" style="display: block; top: 490px; visibility: visible; opacity: 1;">
    <div class="icos"><a id="msg_min" title="" href="javascript:void 0"></a><a id="msg_close" title="关闭" href="javascript:void 0">×</a></div>
    <div id="msg_title">您有新文件</div>
    <audio controls="controls" autoplay="autoplay">
    <source src="~/Content/MP3/Message.mp3" type="audio/mpeg" />
    </audio>
    <div id="msg_content"></div>
    </div>

    <style type="text/css">
    #msg_win {
    border: 1px solid #A67901;
    background: #EAEAEA;
    180px;
    position: absolute;
    right: 0;
    font-size: 12px;
    font-family: Arial;
    margin: 0px;
    display: none;
    overflow: hidden;
    z-index: 99;
    }

    #msg_win .icos {
    position: absolute;
    top: 2px;
    *top: 0px;
    right: 2px;
    z-index: 9;
    }

    .icos a {
    float: left;
    color: #833B02;
    margin: 1px;
    text-align: center;
    font-weight: bold;
    14px;
    height: 22px;
    line-height: 22px;
    padding: 1px;
    text-decoration: none;
    font-family: webdings;
    }

    .icos a:hover {
    color: #fff;
    }

    #msg_title {
    background: #FECD00;
    border-bottom: 1px solid #A67901;
    border-top: 1px solid #FFF;
    border-left: 1px solid #FFF;
    color: #000;
    height: 25px;
    line-height: 25px;
    text-indent: 5px;
    }

    #msg_content {
    margin: 5px;
    margin-right: 0;
    230px;
    height: auto;
    overflow: visible;
    }
    </style>
    <!-- 弹窗样式 -->
    <script type="text/javascript">
    //function getleader() {
    // $.getJSON("/homepage/getleader", {}, function (data) {
    // $("#leader").html(data);
    // })
    //}
    //function getpop() {
    // $.getJSON("/homepage/Getpop", {}, function (data) {
    // $("#msg_content").html(data);
    // });
    //}
    var Message = {
    //set: function () {//最小化与恢复状态切换
    // var set = this.minbtn.status == 1 ? [0, 1, 'block', this.char[0], '最小化'] : [1, 0, 'none', this.char[1], '展开'];
    // this.minbtn.status = set[0];
    // this.win.style.borderBottomWidth = set[1];
    // this.content.style.display = set[2];
    // this.minbtn.innerHTML = set[3]
    // this.minbtn.title = set[4];
    // this.win.style.top = this.getY().top;
    //},
    close: function () {//关闭
    this.win.style.display = 'none';
    window.onscroll = null;
    },
    setOpacity: function (x) {//设置透明度
    var v = x >= 100 ? '' : 'Alpha(opacity=' + x + ')';
    this.win.style.visibility = x <= 0 ? 'hidden' : 'visible'; //IE有绝对或相对定位内容不随父透明度变化的bug
    this.win.style.filter = v;
    this.win.style.opacity = x / 100;
    },
    show: function () {//渐显
    clearInterval(this.timer2);
    var me = this, fx = this.fx(0, 100, 0.1), t = 0;
    this.timer2 = setInterval(function () {
    t = fx();
    me.setOpacity(t[0]);
    if (t[1] == 0) { clearInterval(me.timer2) }
    }, 10);
    },
    fx: function (a, b, c) {//缓冲计算
    var cMath = Math[(a - b) > 0 ? "floor" : "ceil"], c = c || 0.1;
    return function () { return [a += cMath((b - a) * c), a - b] }
    },
    getY: function () {//计算移动坐标
    var d = document, b = document.body, e = document.documentElement;
    var s = Math.max(b.scrollTop, e.scrollTop);
    var h = /BackCompat/i.test(document.compatMode) ? b.clientHeight : e.clientHeight;
    var h2 = this.win.offsetHeight;
    return { foot: s + h + h2 + 2 + 'px', top: s + h - h2 - 2 + 'px' }
    },
    moveTo: function (y) {//移动动画
    clearInterval(this.timer);
    var me = this, a = parseInt(this.win.style.top) || 0;
    var fx = this.fx(a, parseInt(y));
    var t = 0;
    this.timer = setInterval(function () {
    t = fx();
    me.win.style.top = t[0] + 'px';
    if (t[1] == 0) {
    clearInterval(me.timer);
    me.bind();
    }
    }, 10);
    },
    bind: function () {//绑定窗口滚动条与大小变化事件
    var me = this, st, rt;
    window.onscroll = function () {
    clearTimeout(st);
    clearTimeout(me.timer2);
    me.setOpacity(0);
    st = setTimeout(function () {
    me.win.style.top = me.getY().top;
    me.show();
    }, 600);
    };
    window.onresize = function () {
    clearTimeout(rt);
    rt = setTimeout(function () { me.win.style.top = me.getY().top }, 100);
    }
    },
    init: function () {//创建HTML
    function $(id) { return document.getElementById(id) };
    this.win = $('msg_win');
    var set = { minbtn: 'msg_min', closebtn: 'msg_close', title: 'msg_title', content: 'msg_content' };
    for (var Id in set) { this[Id] = $(set[Id]) };
    var me = this;
    this.minbtn.onclick = function () { me.set(); this.blur() };
    this.closebtn.onclick = function () { me.close() };
    this.char = navigator.userAgent.toLowerCase().indexOf('firefox') + 1 ? ['_', '::', '×'] : ['0', '2', 'r']; //FF不支持webdings字体
    this.minbtn.innerHTML = this.char[0];
    this.closebtn.innerHTML = this.char[2];
    setTimeout(function () {//初始化最先位置
    me.win.style.display = 'block';
    me.win.style.top = me.getY().foot;
    me.moveTo(me.getY().top);
    }, 0);
    return this;
    }
    };
    Message.init();
    </script>

  • 相关阅读:
    通过字符串调用函数
    First,FirstOrDefault和Single,SingleOrDefault 的区别
    asp循环例子
    将il文件和资源文件生成dll工具
    C# 修改资源文件工具ResourceNet4
    北京ip
    实验1、Mininet 源码安装和可视化拓扑工具
    实验2:Mininet 实验——拓扑的命令脚本生成
    ajax post data 获取不到数据,注意 contenttype的设置 、post/get
    调试提示:当前不会命中断点
  • 原文地址:https://www.cnblogs.com/louby/p/5169868.html
Copyright © 2011-2022 走看看