最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Jquery实现自定义弹窗示例_jquery

来源:动视网 责编:小采 时间:2020-11-27 21:20:54
文档

Jquery实现自定义弹窗示例_jquery

Jquery实现自定义弹窗示例_jquery:在项目开发中,如果我们使用javascript自带的提示对话框,感觉不怎么美观,所以我们通常都是自己定义一些对话框,这里我实现点击按钮就弹窗一个登录的窗口,点击该窗口并可以实现拖拽功能,太多文字的东西说不清楚,直接用代码说话。 这里我将HTML、CSS
推荐度:
导读Jquery实现自定义弹窗示例_jquery:在项目开发中,如果我们使用javascript自带的提示对话框,感觉不怎么美观,所以我们通常都是自己定义一些对话框,这里我实现点击按钮就弹窗一个登录的窗口,点击该窗口并可以实现拖拽功能,太多文字的东西说不清楚,直接用代码说话。 这里我将HTML、CSS


在项目开发中,如果我们使用javascript自带的提示对话框,感觉不怎么美观,所以我们通常都是自己定义一些对话框,这里我实现点击按钮就弹窗一个登录的窗口,点击该窗口并可以实现拖拽功能,太多文字的东西说不清楚,直接用代码说话。

这里我将HTML、CSS、Jquery代码分别贴出来

HTML部分:
代码如下:





登录腾虎通行证


×






















请输入用户名




请输入密码



下次自动登录 忘记密码?
立即注册




可以使用一下方式登录



  • QQ

  • MSN







  • CSS部分代码:
    代码如下:


    Jquery代码:
    代码如下:


    $(document).ready(function(){
    BoxInit.init();
    });

    var BoxInit={
    wWidth:undefined,//浏览器宽度
    wHeight:undefined,//浏览器高度
    show:undefined,//显示按钮
    box:undefined,//弹窗遮盖属性
    boxContent:undefined,//弹窗属性
    closeBox:undefined,//关闭按钮属性
    loginBtn:undefined,//登录按钮属性
    init:function(){
    var self=this;
    //获取控件对象
    self.show=$("#show");
    self.box=$(".box");
    self.boxContent=$(".box_content");
    self.closeBox=$("#close");
    self.loginBtn=$("#login");
    //获取浏览器可视化的宽高
    self.wWidth=$(window).width();
    self.wHeight=$(window).height();
    //绑定显示按钮点击事件
    self.show.click(function(){self.showBtn()});
    //绑定关闭按钮事件
    self.closeBox.click(function(){self.closes()});
    //绑定登录按钮
    self.loginBtn.click(function(){self.login()});
    //DIV拖拽
    self.dragDrop();
    //调用控制提示信息
    self.controlPromptInfo();
    },
    /**
    *显示按钮
    */
    showBtn:function(){
    var self=this;
    self.box.animate({"width":self.wWidth,"height":self.wHeight},function(){
    //设置弹窗的位置
    self.boxContent.animate({
    "left":(self.wWidth-self.boxContent.width())/2
    },function(){
    $(this).animate({"top":(self.wHeight-self.boxContent.height())/2});
    });
    });
    },
    /**
    *关闭按钮
    */
    closes:function(){
    var self=this;
    self.boxContent.animate({
    "top":0
    },function(){
    $(this).animate({"left":-(self.wWidth-self.boxContent.width())/2},function(){
    self.box.animate({"width":-self.wWidth,"height":-self.wHeight});
    });
    });
    },
    /**
    *登录按钮
    */
    login:function(){
    var self=this;
    self.boxContent.animate({
    "top":0
    },function(){
    $(this).animate({"left":-(self.wWidth-self.boxContent.width())/2},function(){
    self.box.animate({"width":-self.wWidth,"height":-self.wHeight});
    });

    });
    },
    /**
    *拖拽弹窗
    */
    dragDrop:function(){
    var self=this;
    var move=false;//标识是否移动元素
    var offsetX=0;//弹窗到浏览器left的宽度
    var offsetY=0;//弹出到浏览器top的宽度
    var title=$(".title");
    //鼠标按下事件
    title.mousedown(function(){
    move=true;//当鼠标按在该div上的时间将move属性设置为true
    offsetX=event.offsetX;//获取鼠标在当前窗口的相对偏移位置的Left值并赋值给offsetX
    offsetY=event.offsetY;//获取鼠标在当前窗口的相对偏移位置的Top值并赋值给offsetY
    title.css({"cursor":"move"});
    }).mouseup(function(){
    //当鼠标松开的时候将move属性摄hi为false
    move=false;
    });
    $(document).mousemove(function(){
    if(!move){//如果move属性不为true,就不执行下面的代码
    return;
    }
    //move为true的时候执行下面代码
    var x = event.clientX-offsetX; //event.clientX得到鼠标相对于客户端正文区域的偏移,然后减去offsetX即得到当前推拽元素相对于当前窗口的X值(减去鼠标刚开始拖动的时候在当前窗口的偏移X)
    var y = event.clientY-offsetY; //event.clientY得到鼠标相对于客户端正文区域的偏移,然后减去offsetX即得到当前推拽元素相对于当前窗口的Y值(减去鼠标刚开始拖动的时候在当前窗口的偏移Y)
    if(!(x<0||y<0||x>(self.wWidth-self.boxContent.width())||y>(self.wHeight-self.boxContent.height()))){
    self.boxContent.css({"left":x,"top":y,"cursor":"move"});
    }
    });
    },
    /**
    *控制提示信息
    */
    controlPromptInfo:function(){
    //遍历提示信息,并点击
    $("p[class*=prompt]").each(function(){
    var pro=$(this);
    pro.click(function(){
    //点击提示信息自身隐藏,文本框获取焦点
    pro.hide().siblings("input").focus();
    });
    });
    //遍历文本框
    $("input[class*=ins]").each(function(){
    var input=$(this);
    //文本框失去焦点
    input.blur(function(){
    //如果文本框值为空
    if(input.val()==""){
    //显示提示信息
    input.siblings(".prompt").show();
    }
    }).keyup(function(){//按键抬起的时候
    if(input.val()==""){//如果文本框值为空
    //文本框失去焦点显示提示信息
    input.blur().siblings(".prompt").show();
    }else{
    //提示信息隐藏
    input.siblings(".prompt").hide();
    }
    });
    });
    }
    }


    整个功能的代码都在这里了

    文档

    Jquery实现自定义弹窗示例_jquery

    Jquery实现自定义弹窗示例_jquery:在项目开发中,如果我们使用javascript自带的提示对话框,感觉不怎么美观,所以我们通常都是自己定义一些对话框,这里我实现点击按钮就弹窗一个登录的窗口,点击该窗口并可以实现拖拽功能,太多文字的东西说不清楚,直接用代码说话。 这里我将HTML、CSS
    推荐度:
    标签: 自定义 弹窗 实例
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top