jQuery弹出窗口居中,随页面滚动而滚动

方法一,自定弹出层

弹出层,我们常用到,这里分享一个别人的弹出层插件,页面滚动,弹出层用于居中于窗口中间位置。
假如HTML代码如下

  

 代码如下 复制代码
  <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <title>弹出层</title>
    </head>
    <body>
    <div class="btns">我点</div>
    <div id="screen"></div>
    <div class="popBox">
    <em>关闭</em>
    这里是你想要显示的内容,略过......
    </div>
    </body>
    </html>

主要一共2层,外面的screen是页面遮罩层,用于遮住原来页面的内容,可用可不用。
下面定义一下css。

   

 代码如下 复制代码
*{
    margin:0;
    padding:0;
    }
    
    #screen{
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    display:none;
    z-index:9998;
    background:#666;
    opacity:0.5;
    filter:alpha(opacity=50);
    -moz-opacity:0.5;
    }
    
    .popBox{
    width:600px;
    background:#fff;
    border:2px #8FA4F5 solid;
    padding:1px;
    position:absolute;
    top:0;
    left:0;
    display:none;
    z-index:9999;
    }
    
    .popBox em{
    padding:2px 5px;
    position:absolute;
    right:10px;
    top:10px;
    background:#333;
    color:#fff;
    }

最后就是js了,这是居于jQuery框架下的插件,所以,记得引入jquery库文件。

  

 代码如下 复制代码
  <script type="text/javascript">
    //使用。
    $(function(){
    $('.popBox em').click(function(){
    $('.popBox').fadeOut(function(){ $('#screen').hide(); });
    return false;
    });
    $('.btns').click(function(){
    var h = $(document).height();
    $('#screen').css({ 'height': h }); 
    $('#screen').show();
    $('.popBox').center();
    $('.popBox').fadeIn();
    return false;
    });
    });
    
    //下面是居中的插件。
    jQuery.fn.center = function(loaded) {
    var obj = this;
    body_width = parseInt($(window).width());
    body_height = parseInt($(window).height());
    block_width = parseInt(obj.width());
    block_height = parseInt(obj.height());
    left_position = parseInt((body_width/2) - (block_width/2) + $(window).scrollLeft());
    if (body_width<block_width) { left_position = 0 + $(window).scrollLeft(); };
    top_position = parseInt((body_height/2) - (block_height/2) + $(window).scrollTop());
    if (body_height<block_height) { top_position = 0 + $(window).scrollTop(); };
    if(!loaded) {
    obj.css({'position': 'absolute'});
    obj.css({ 'top': top_position, 'left': left_position });
    $(window).bind('resize', function() {
    obj.center(!loaded);
    });
    $(window).bind('scroll', function() {
    obj.center(!loaded);
    });
    } else {
    obj.stop();
    obj.css({'position': 'absolute'});
    obj.animate({ 'top': top_position }, 200, 'linear');
    }
    }
    </script>

方法二,直接用用JQuery插件TipsWindown 1.1,比上面方法更简单

2.弹出页面中的某个ID的html:

 代码如下 复制代码
tipsWindown("标题","id:testID","300","200","true","","true","id")

我是测试ID里的内容

我换行了...
3.弹出图片:

 代码如下 复制代码
tipsWindown("图片","img:图片路径","250","150","true","","true","img")

4.get加载一个.html文件(也可以是.php/.asp?id=4之类的):

 代码如下 复制代码
tipsWindown("标题","url:get?test.html","250","150","true","","true","text"); 

5.加载一个页面到框架显示:

 代码如下 复制代码

tipsWindown("标题","iframe:http://www.111cn.net.net","900","580","true","","true","leotheme");

6.弹出一个不能拖动且没有遮罩背景的文本信息层:

 代码如下 复制代码
tipsWindown("提示","text:提示信息内容","250","150","false","","false","msg")

7.弹出一个不能拖动,三秒钟自动关闭的层:

 代码如下 复制代码

tipsWindown("提示","text:提示信息内容","250","150","false","3000","true","msg")

时间: 2024-09-13 21:43:31

jQuery弹出窗口居中,随页面滚动而滚动的相关文章

弹出窗口与切换页面的对比总结

分享较早前的一个小总结,关于在选择弹出窗口还是选择切换页面来承载信息时,可用用来判断的几个角度,合适初学者来读. 1.弹出窗口与切换页面的区别 1)&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;操作的连贯性:弹出窗口的速度会比打开一个页面的速度要快,响应更及时一些,点击后可以比较快的得到操作的反馈,而切换页面则经常会让用户等待一段时间. 实例一:个人中心中,查看好友照片的操作: 之前查看照片的操作页面会跳转到该好

体验对比:是选择弹出窗口还是切换页面来承载网站信息

分享较早前的一个小总结,关于在选择弹出窗口还是选择切换页面来承载信息时,可用用来判断的几个角度,合适初学者来读. 1.弹出窗口与切换页面的区别 1) 操作的连贯性 弹出窗口的速度会比打开一个页面的速度要快,响应更及时一些,点击后可以比较快的得到操作的反馈,而切换页面则经常会让用户等待一段时间. 实例一:个人中心中,查看好友照片的操作: 之前查看照片的操作页面会跳转到该好友的空间"相册"页面,而现在则更改进为弹出窗口,能够很快看到照片的放大图,关掉窗口后,又可以继续浏览其他好友的信息了.

javascript之弹出窗口居中的代码_javascript技巧

Test [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] javascript弹出窗口居中代码 下面给两个弹出屏幕居中窗口的例子 复制代码 代码如下: window.open()方式 function ShowDialog(url) { var iWidth=300; //窗口宽度 var iHeight=200;//窗口高度 var iTop=(window.screen.height-iHeight)/2; var iLeft=(window.screen.width-iWidt

Jquery弹出窗口插件 LeanModal的使用方法_jquery

开发网站少不了要经常用弹出窗口的形式,今天在网上搜了个小插件LeanModal,记录于此,方便自己,亦方便他人使用. 此插件是个老外写的,体积小是它最大的优点,压缩后1k不到.当然,此插件是寄生于JQuery上. 一. 效果图 二.使用步骤: 1.引用Jquery.js和leanModal.min.js 复制代码 代码如下: <script src="Javascript/jquery-1.4.1.min.js" type="text/javascript"&

JS中window.open弹出窗口居中

利用下面这个js函数可以使window.open弹出的窗口居中function openwindow(url,name,iWidth,iHeight){var url; //转向网页的地址;var name; //网页名称,可为空;var iWidth; //弹出窗口的宽度;var iHeight; //弹出窗口的高度;var iTop = (window.screen.availHeight-30-iHeight)/2; //获得窗口的垂直位置;var iLeft = (window.scre

jQuery弹出窗口完整代码(居中,居左,居右)_jquery

-居中窗口 www.jb51.net -居左窗口 www.jb51.net -居右窗口 www.jb51.net

jQuery弹出窗口插件FancyBox用法教程

效果 FancyBox使用方法: 1.引入jquery核心库和Fancybox插件库  代码如下 复制代码 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript" src="/fancy

jQuery+jqmodal弹出窗口实现代码分明_jquery

先上图,最终效果如下   点击"信息确认"   就是弹出一个确认窗口,把已经填报的信息都放到里面看看. 信息放里面很简答,主要是弹出窗口要做得好看点. 所以选择了jQuery+jqmodal实现 实现方法如下1.页面中引用jquery-1.4.2.js和jqModal.js,注意jQuery要在前面,因为jqmodal是以jQuery为基础的. 2.建立jqModal.css,并引用,主要是些美工的东东,注意div.jqmDialog 的 display为 none.高度和宽度要设置好

aspx 页面弹出窗口代码大全_实用技巧

//关闭,父窗口弹出对话框,子窗口直接关闭 this.Response.Write("<script language=javascript>window.close();</script>"); //关闭,父窗口和子窗口都不弹出对话框,直接关闭 this.Response.Write("<script>"); this.Response.Write("{top.opener =null;top.close();}&qu