• [置顶] 一些弹出框的用法例子(一)



        最近做一个项目,许多功能都是关于弹出框的,以前觉得弹出框就那一种,很容易实现,但是最近真的做起这个功能了,发现会有好多自己考虑不到的问题。

     比如关于一些添加,删除,修改的弹出框,当添加一些用户的时候,弹出框里要提交一些关于用户的信息,设置密码等信息,当修改的时候,根据用户的名字和id号来修改密码等等。

    例子如下:

    <ul class="tabPanel clearfix">
                <li class="hover">
                    <a href="" class="close"></a>
                    <div class="panelBox">
                        <dl>
                        <dt id="dt1" contentid=".pwdTips">蓝枫前端</dt>
                        <dd>添加询盘【<a href="">10</a>】</dd>
                        <dd>跟踪询盘【<a href="">1000</a>】</dd>
                        </dl>
                    </div>
                </li>
                <li>
                    <a href="" class="close"></a>
                    <div class="panelBox">
                        <dl>
                        <dt id="dt2" contentid=".pwdTips">蓝枫前端</dt>
                        <dd>添加询盘【<a href="">10</a>】</dd>
                        <dd>跟踪询盘【<a href="">1000</a>】</dd>
                        </dl>
                    </div>
                </li>
                <li>
                <a href="" class="close"></a>
                    <div class="panelBox">
                        <dl>
                        <dt id="dt3" contentid=".pwdTips">蓝枫前端</dt>
                        <dd>添加询盘【<a href="">10</a>】</dd>
                        <dd>跟踪询盘【<a href="">1000</a>】</dd>
                        </dl>
                    </div>
                </li>
                <li>
                <a href="" class="close"></a>
                    <div class="panelBox">
                        <dl>
                        <dt  contentid=".pwdTips">蓝枫前端</dt>
                        <dd>添加询盘【<a href="">10</a>】</dd>
                        <dd>跟踪询盘【<a href="">1000</a>】</dd>
                        </dl>
                    </div>
                </li>
                <li>
                    <a href="" class="close"></a>
                    <div class="panelBox">
                        <dl>
                        <dt id="" contentid=".pwdTips">蓝枫前端</dt>
                        <dd>添加询盘【<a href="">10</a>】</dd>
                        <dd>跟踪询盘【<a href="">1000</a>】</dd>
                        </dl>
                    </div>
                </li>
                <li>
                    <div class="panelBox addpanelBox">
                        <a class="addPanelBtn" contentid="div#pwdRest">添加</a>
                    </div>
                </li>
            </ul>

    弹出框内容:

    <div class="pwdTips" style="display:none;" id="pwdRest">
        <a class="closeBtn" href="javascript:;"></a>
        <div class="traDBox">
           <div class="row" id="userName">
           <div class="label" >用 户 名:</div>
                <div class="cell"><input type="text" class="text" id="name" name="" value=""></div>
           </div>
           <div class="row">
                <div class="label" >营销客服:</div>
                <div class="cell"><input type="text" class="text" id="opename" name="" value=""></div>
                <input  type="hidden" name="" id="onLineId"/>
           </div>
            <div class="row">
                <div class="label">登录密码:</div>
                <div class="cell"><input type="text" class="text" id="" name="" value=""></div>
           </div>
            <div class="row">
                <div class="label">确认密码:</div>
                <div class="cell"><input type="text" class="text" id="" name="" value=""></div>
           </div>
          <div class="row">
            <div class="dialogBtn">
            <button type="submit" class="diaSmtBtn">确认</button>
            <button type="button" class="diaSmtRst">取消</button>
        </div>
        </div>
        </div>   
    </div>


    实现的弹出框的js

    $(function(){
        var $window = $(window),
            $doc = $(document),
            $body = $('body');
            //关于管理员添加删除的js代码
        var tabLi=$(".tabPanel").find("li");
        tabLi.hover(function(){
                    $(this).addClass("hover").siblings().removeClass("hover");
                    },function(){})    
        /*弹出框定位*/           
        $(window).scroll(function() {
            var pwdTips =$(".pwdTips");
            var height=pwdTips.height();
            var width=pwdTips.width();
            var bodyHieght=$(window).height() ;
            var bodyWidth=$(window).width() ;

            if(!pwdTips.is(":hidden")){
                 pwdTips.css({
                            position: "fixed",
                            top: (bodyHieght-height)/2,
                            left:(bodyWidth-width)/2
                        });    
            }
        
        });
             /*弹出框定位结束*/           
            /*弹出框半透明背景的设置*/       
            var bgShadow = function(zindex) {
            zindex = zindex?zindex:999;
            var _bg = $('div.pwdTipsBg'),
                bg_html = '<div class="pwdTipsBg"></div>';
            if(_bg.length === 0) {
                _bg = $(bg_html);
            }
            $body.append(_bg);
            _bg.css({
                position : 'absolute',
                top : '0px',
                left : '0px',
                width : $window.scrollLeft()+$window.width()+'px',
                height : $doc.height(),
                'z-index' : zindex
            });
            return _bg;
        };
                    
      /*弹出框半透明背景的设置*/     
      /*绑定事件*/     

    var bindClick = function(obj,handlerEvent){
        obj.bind("click",function(e){
                e.preventDefault();
                    bgShadow(1001);
                    var select=$(this).attr('contentid');
                    var onLineId=$(this).attr('id');
                    var pwdTips=$(select);
                    if(handlerEvent!=null)
                    {
                        handlerEvent($(this));
                        
                    }
                    pwdTips.show();
                    pwdTips.find(".closeBtn,.diaSmtRst").click(function(){
                        pwdTips.hide();
                        var _bg = $('div.pwdTipsBg');
                        _bg.remove();
                    });
                    pwdTips.find('#onLineId').val(onLineId);
                    
                    
                
            });

    };
    var show=tabLi.find("dt"),
       addPanelBtn=$(".addPanelBtn"),
       clickBtn=$(".clickBtn");
    var setValue= function(obj){
        
        if($(obj).is('.addPanelBtn'))
        {
            $('#opename').attr('value',"");
            
            $('#pwdRest').find('#userName').show();
            
        }
        else
        {
            
            $('#pwdRest').find('#userName').hide();    
            $('#opename').attr('value',obj.text());
            $("input.shareId").attr('value',obj.attr('id'))
        }
        
    }
    $(function(){
        bindClick(show,setValue);
        bindClick(addPanelBtn,setValue);
        bindClick(clickBtn,setValue);
    });
    })


    所有的弹出内容根据情况做判断显示,获取相应的值,先根据触发的类型判断是修改密码或者添加用户客服,然后再显示相应的弹出内容


  • 相关阅读:
    堆排序
    2019晋城一中开放日
    严格次小生成树
    遥远的国度
    noip2018游记
    Luogu1736 创意吃鱼法
    P3958 奶酪
    Luogu3385 负环
    Luogu1040 加分二叉树
    Luogu1007 独木桥
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3283266.html
Copyright © 2020-2023  润新知