`
hackbomb
  • 浏览: 216688 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Javascript 弹出窗口控制和双击滚屏

阅读更多

说明:
主要使用 Js 的 setInterval() 和 clearInterval() 函数完成操作.

目录:
1. 居中弹出窗口, 并逐步扩大
2. 居角弹出窗口, 并逐步扩大
3. 双击滚屏, 单击停止, 以 Scroll bar 的相对位置滚屏

shawl.qiu
2006-10-24
http://blog.csdn.net/btbtd

1. 居中弹出窗口, 并逐步扩大

linenum
<script type="text/javascript">
//<![CDATA[
    if (navigator.appName=="Microsoft Internet Explorer") {
        //最大化窗口
        self.moveTo(-5,-5)
        self.resizeTo(screen.availWidth +8,screen.availHeight+8)
        //这个脚本定义的宽度其实比原窗口还要大那么一点.
    }
 
    var w=h=200;
    x=(screen.width-w)/2;
    y=(screen.height-h)/2;
    var n=open('','newWin','width='+w+',height='+h+',left='+x+',right='+x+',top='+y+',bottom='+y);
        n.document.write('\
        <script>\
            document.write("temp"); /* 临时内容, 去掉出错 */ \
            document.body.innerHTML=""; /* 清空页面内容 */ \
            document.onclick=function(){ close();} /* 单击关闭窗口 */ \
        <\/script>');
        n.document.write('<h2>test moving window</h2>');
        n.focus();
        
    var timer=setInterval('fMovingWin()',1);
    
    function fMovingWin(){
        if (n.closed||(w>=screen.width+8&&h>=screen.height+8)) {
            clearInterval(timer);
            return;
        }
        try{
            if(w<=screen.width+8)w+=2;
            if(h<=screen.height+8)h+=2;
            n.resizeTo(w, h)
            x=(screen.width-w)/2;
            y=(screen.height-h)/2;
            n.moveTo(x,y)
        } catch(e) {} //shawl.qiu script
    }
 
//]]>
</script>

2. 居角弹出窗口, 并逐步扩大

linenum
<script type="text/javascript">
//<![CDATA[
    if (navigator.appName=="Microsoft Internet Explorer") {
        //最大化窗口
        self.moveTo(-5,-5)
        self.resizeTo(screen.availWidth +8,screen.availHeight+8)
        //这个脚本定义的宽度其实比原窗口还要大那么一点.
    }
 
    var w=h=200;
    x=y=-5;
    var n=open('','newWin','width='+w+',height='+h+',left='+x+',right='+x+',top='+y+',bottom='+y);
        n.document.write('\
        <script>\
            document.write("temp"); /* 临时内容, 去掉出错 */ \
            document.body.innerHTML=""; /* 清空页面内容 */ \
            document.onclick=function(){ close();} /* 单击关闭窗口 */ \
        <\/script>');
        n.document.write('<h2>test moving window</h2>');
        n.focus();
        
    var timer=setInterval('fMovingWin()',1);
    
    function fMovingWin(){
        if (n.closed||(w>=screen.width+8&&h>=screen.height+8)) {
            clearInterval(timer);
            return;
        }
        try{
            if(w<=screen.width+8)w+=2;
            if(h<=screen.height+8)h+=2;
            n.resizeTo(w, h)
            
            //从右下角逐步扩大窗口
            /* x=screen.width-w
            y=screen.height-h
            n.moveTo(x,y) */
            
            //从左上角逐步扩大窗口
            n.moveTo(x,y)
        } catch(e) {}  //shawl.qiu script
    }
 
//]]>
</script>

3. 双击滚屏, 单击停止, 以 Scroll bar 的相对位置滚屏

[1][2]>>下一页


linenum
<script type="text/javascript">
//<![CDATA[
    function scb(){ timer=setInterval('scrollBy(0,1)',1000) }
    document.onmousedown=function(){ try{ clearInterval(timer);} catch(e){} }
    document.ondblclick=function(){ scb(); }
//]]> //shawl.qiu script
</script>

______________________________________________


根据内容自动调整弹出窗口大小的JS解决方案

问题
在弹出创苦时,根据窗口的内容来自动调节窗口的大小,窗口如果已经和屏幕相等大小时则出现滚动条。
 
解决方案    在弹出的页面中添加一JS脚本方法win_onLoad(),在body的onload方法中引用win_onLoad(),在body中添加表,表的id取名为tbllist,窗口的大小就是这个table的大小在宽和高上分别加50。

部分代码如下:

<script language=javascript>
function win_onLoad(){
var width = document.all["tblKsList"].offsetWidth;    
var height = document.all["tblKsList"].offsetHeight; 
 
width = eval(width + 50);
height = eval(height + 50);
 
if (width < 500)
width = 500;
else if (width > screen.width)
width = screen.width;
 
if (height < 400)
height = 400;
else if (height > screen.height)
height = screen.height;
 
//alert(width);alert(height);
window.resizeTo(width,height);
}
</script>

<head></head>
<BODY bgcolor="0099CC" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="win_onLoad();">
<TABLE width="95%" border="0" cellpadding="0" cellspacing="0" class="table-left1-right2"  style="border:1 solid #000000" id="tblList">
<TR>
<TD width="100%" valign="top" colspan=2>
 欢迎使用!
</TD>
</TR>
</TABLE>
</BODY>

-----------------------------

JS&RE 控制图片显示大小, 弹出窗口自适应大小,自居中, 结合UBB与正则使用 By Stabx

实现功能:
1. 图片宽度如果大于 ##, 则显示为 ##, 小于则显示为默认. /Javascript
2. 点击图片弹出图片链接, 窗口自动适应图片大小, 并且弹出窗口居中显示. /Javascript
注: 可在页面上使用任何次数, 不需指定ID.
其他:
1. 正则替换 UBB 输入格式的图片地址为 热链接 /Regular Expression - encode
2. 正则解码 HTML IMG 标签. /Regular Expression - decode

shawl.qiu
2006-5-24

//这是 ASP VBSCRIPT 中的正则
Regular Expression:
1. 正则替换 UBB IMG 标签为 HTML IMG 标签:
正则内容:
         re.Pattern = "\[img\]((http\:\/\/)|())(.*?)\[\/img\]"
         str = re.Replace(str,"<img onload=""this.width=show(this.width)"" onClick=""openautosize(this.src)"" src=$2$3$4>")
2. 正则解码 HTML IMG 标签为 UBB IMG 标签
正则内容:
         re.Pattern = "<img.*?src=(.*)?\>"
         Str = re.Replace(Str,"[img]$1[/img]")

注: 使用正则特别特别要注意的就是各个正则的使用顺序.

<script LANGUAGE="JAVASCRIPT">
     //检查图片大小是否大于预期大小, 大于则显示为预期大小
     function show(chkw) { //chk size
                 if(chkw>500) {
                     chkw=500;
                     }
                 else {
                     chkw=chkw;
                 }
                 return chkw;
             }//script by shawl.qiu
     //example: <img src="images/03.jpg" onClick="openautosize(this.src)" onload="this.width=show(this.width)">
    
     //弹出窗口, 自适应图片大小,并自动居中显示
     function openautosize(ourl) { //ourl 为接收图片地址
             dimg = new Image(); //建立图像对象
             dimg.src = ourl; //确定图像地址
             w = dimg.width ; //图像宽度
             h = dimg.height; //图像高度
             x = (screen.width - w) / 2; //减去图片宽度, 然后宽/2
             y = (screen.height - h) / 2; //减去图片高度, 然后宽/2
             window.open(ourl,"newwindow","location=1,width="+w+",height="+h+",top="+y+",bottom="+y+",left="+x+",right="+x) ;
         }//shawl.qiu script
     //example:  <img src="images/03.jpg" onClick="openautosize(this.src)" onload="this.width=show(this.width)">
</script>
示例:
         <img src="images/03.jpg" onClick="openautosize(this.src)" onload="this.width=show(this.width)" ><br>
         <img src="images/01.jpg" onClick="openautosize(this.src)" onload="this.width=show(this.width)" >

-----------------------------

自适应图片大小的弹出窗口

作者: 黄山村夫 

  当我提供给浏览者多张图片时,往往是先提供一组缩略图,当访问者点击页面中的缩略图时,其对应的全尺寸图片将显示在一个新的弹出窗口中供访问者查看。如何做出为种效果呢?肯定是用弹出窗口!由于有时图片不是一样大,在弹出图片窗口时可能出现空白,影响效果。若一个窗口一个窗口按图片大小作调整,实大太麻烦了。本文提供的这种弹出窗口,可以使你一劳永益,它会根据图片的在小自动调整窗口的大小。请看下面的制作方法:

  1、 先用以下HTML代码创建一个图像的空链接: 本例缩略图放在images目录下,文件名为img0003s.jpg;原图也放在images目录下,文件名为img0003.jpg,创建好的空链接代码如下:
   <a href="#" ><img src="images/img0003s.jpg"></a>
   其中<a>标记的href属性指定为"#"即为空链接;<img>标记的src属性指定缩略图的URL。

  2、在网页代码<head>与</head>之间加上如下的代码:

<script>
function newimg(imgurl) {
newwin=window.open('about:blank','','width=10,height=10'); //先新打开一个小窗口
newwin.document.write('<body leftmargin=0 topmargin=0><img id=img1 src='+imgurl+' onload="self.resizeTo(this.offsetWidth,this.offsetHeight);">'); //把窗口的大小调整到与图片一样大。
}
</script>

  3、在缩略图空链接的代码中加上onclick="newimg('在这里写上原图的Ulr')",最后的缩略图空链接代码如下:

    <a href="#" onclick="newimg('images/img0003.jpg')"><img src="images/img0003s.jpg"></a>

  到此已OK了,若有多张图片,重复上述1~3步就行了。

  本方法的原理是利用空链接弹出一个小窗口,把图片加入,然后让窗口根据图片的大小来调整窗口的在小。
  
  以上代码在IE 5.x-6.0中测试通过。

----------------------------

javascript实现弹出窗口永远居中

<script>
function ShowDialog(url)
{
  var  iWidth=600; //模态窗口宽度
  var  iHeight=500;//模态窗口高度
  var  iTop=(window.screen.height-iHeight)/2;
  var  iLeft=(window.screen.width-iWidth)/2;
  window.open(url,"Detail",
 "Scrollbars=yes,Toolbar=no,Location=no,Direction=no,Resizeable=no,   Width="+iWidth+" ,Height="+iHeight+",top="+iTop+",left="+iLeft)
}
</script>

分享到:
评论

相关推荐

    JAVASCRIPT弹出窗口大总结

    ### JavaScript弹出窗口知识点总结 ...开发者可以根据实际需求选择合适的方法来创建和控制弹出窗口,从而提升网站的功能性和用户体验。同时,需要注意弹出窗口可能带来的安全和兼容性问题,合理地使用这一功能。

    JAVASCRIPT弹出窗口代码

    ### JavaScript弹出窗口代码详解 在网页开发过程中,有时我们需要创建一个新的浏览器窗口来显示特定的信息或功能,这就需要用到JavaScript中的`window.open()`方法。本文将详细介绍如何使用此方法以及其参数的意义...

    javascript弹出窗口问题总结

    本篇文章将针对JavaScript弹出窗口的相关问题进行总结,包括无提示刷新网页、刷新页面的方法、弹出窗口代码、模式窗口的数据刷新问题、模式窗口中链接弹出新窗口以及无提示关闭页面的方法。 1. **无提示刷新网页** ...

    JavaScript弹出窗口详解.mht

    JavaScript弹出窗口详解.mht,JavaScript弹出窗口详解.mht,JavaScript弹出窗口详解.mht,JavaScript弹出窗口详解.mht,JavaScript弹出窗口详解.mht,JavaScript弹出窗口详解.mht

    javascript+asp弹出窗口.docx

    本文将详细讲解 javascript 弹出窗口技术,包括基本弹出窗口代码、函数控制弹出窗口、同时弹出多个窗口、主窗口打开文件同时弹出小窗口、弹出的窗口定时关闭控制、在弹出窗口中加上一个关闭按钮、内包含的弹出窗口、...

    JavaScript弹出窗口DIV层效果代码

    2. **CSS样式控制**:设置弹出窗口的外观和初始隐藏状态。 3. **JavaScript逻辑处理**:编写显示和隐藏弹出窗口的函数。 4. **事件监听**:绑定事件触发弹出窗口的显示与隐藏。 #### HTML结构 首先,需要在HTML...

    JavaScript弹出窗口及与父窗口交互

    这篇文章将指导你如何在ASP.NET环境中创建一个JavaScript弹出窗口,并实现弹出窗口与调用窗口之间的通信,包括值的传递以及如何模拟触发调用窗口上的按钮点击事件。此外,文章还会涉及MultiView控件和带分页的...

    制作Javascript弹出窗口技巧九则

    ### 制作Javascript弹出窗口技巧九则 在网页开发中,使用JavaScript创建弹出窗口是一种...以上这些技巧不仅能够帮助开发者更好地掌握JavaScript弹出窗口的使用方法,还能提高用户体验,使得网站交互更加友好和高效。

    弹出窗口资料弹出窗口资料

    5. opdiv.html:可能是另一种弹出窗口的实现方式,可能利用CSS的`position: absolute`或`fixed`来创建浮动的弹出层,或者使用JavaScript的`show()`和`hide()`方法来控制显示。 6. asfaf.html:文件名无法直接推测其...

    javascript弹出窗口

    - `top` 和 `left` 分别表示新窗口距离屏幕顶部和左侧的距离。 - `toolbar`、`menubar`、`location`、`status`、`directories` 控制工具栏、菜单栏、地址栏、状态栏和目录栏是否显示。 - `scrollbars` 控制新窗口...

    弹出窗口效果

    "jQuery + CSS 实现绚丽的弹出窗口效果"这个主题涉及到两个关键的技术:JavaScript 库 jQuery 和样式语言 CSS。它们共同作用,使得弹出窗口不仅具有基本的显示功能,还能实现丰富的动态效果和视觉吸引力。 首先,...

    javascript循环弹出窗口

    在“javascript循环弹出窗口”这个主题中,我们关注的是如何利用JavaScript代码来实现一个窗口无限循环弹出的功能。这通常涉及到定时器(setTimeout或setInterval)和弹窗函数alert()或confirm()。 首先,`alert()`...

    javascript 控制弹出窗口.docx

    JavaScript 是一种广泛应用于网页开发的脚本语言,它允许开发者控制网页的行为,包括创建和控制弹出窗口。本文主要探讨了如何使用JavaScript实现弹出窗口的功能,并提供了多种自定义窗口特性的方法。 首先,最基础...

    javascript弹出窗口中增加确定取消按钮

    本文主要介绍如何在ECShop这样的电子商务平台上,通过JavaScript代码实现在弹出窗口中增加“确定”和“取消”按钮的效果。这可以通过多种JavaScript函数实现,如window.confirm(),这是一种简单而直接的方式,用于...

    javascript 实现弹出小窗口

    - **核心知识点**:通过 JavaScript 代码创建一个新窗口或弹出窗口,并能够控制其大小、位置以及各种浏览器工具栏的显示与隐藏等属性。 #### 标签:弹出小窗口 - **关键词提取**:此标签表明文章的主题是围绕“弹出...

    打造交互式体验:使用HTML和JavaScript创建弹出窗口

    本文将详细指导如何使用HTML和JavaScript创建一个基本的弹出窗口,并提供一些高级技巧来增强用户体验。 通过本文的介绍,你应该已经学会了如何使用HTML和JavaScript创建一个基本的弹出窗口,并掌握了一些高级特性和...

    asp.net mvc 弹出窗口 技巧

    1. **JavaScript与jQuery库**:在ASP.NET MVC中,通常会利用JavaScript和jQuery来实现前端交互,包括弹出窗口。jQuery库简化了DOM操作,使得创建和控制弹出窗口变得简单。 2. **Bootstrap Modal**:Bootstrap是广泛...

    JavaScript弹出新窗口并控制窗口移动到指定位置的方法

    JavaScript弹出新窗口并控制窗口移动到指定位置的方法知识点: 1. window.open()函数的使用:window.open()是JavaScript的一个内置函数,用于打开一个新的浏览器窗口或标签页。该函数一般包含三个参数:要加载的URL...

    javascript点击弹出窗口.zip

    `js`目录下的JavaScript文件可能包含了上述所有功能的具体实现,包括弹出窗口的逻辑和AJAX请求。`css`目录下的CSS文件则负责样式设计,确保弹出窗口美观且适应各种屏幕尺寸。例如,以下CSS可以创建一个基本的弹出...

Global site tag (gtag.js) - Google Analytics