`
hackbomb
  • 浏览: 217294 次
  • 性别: 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弹出窗口。 首先,最基本的弹出窗口代码是使用`window.open`函数。例如: ```javascript &lt;SCRIPT LANGUAGE="javascript"&gt; &lt;!-- window.open ('page.html') // --&gt; ``` 这...

    JAVASCRIPT弹出DIV层窗口实例

    接下来,我们需要编写JavaScript代码来控制弹出窗口的显示和隐藏。这通常在单独的`&lt;script&gt;`标签内或者外部的JS文件(如`script.js`)中完成。以下是一个简单的JavaScript函数示例: ```javascript function show...

    JavaScript弹出窗口详解.mht

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

    javascript+asp弹出窗口.docx

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

    JavaScript弹出窗口方法汇总_.docx

    本文将对 JavaScript 弹出窗口方法进行总结和分析,帮助读者更好地理解和应用这些方法。 一、无提示刷新网页 在 Web 开发中,我们经常遇到需要刷新网页的情况。有的网页在刷新时会弹出提示窗口,而有的页面则不会...

    JavaScript弹出窗口DIV层效果代码

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

    javascript经典特效---无边弹出窗口全集.rar

    实现弹出窗口的JavaScript技术主要包括DOM操作、事件处理和CSS样式控制。以下是一些可能涵盖的知识点: 1. **DOM操作**:JavaScript通过Document Object Model (DOM)来操作HTML元素。创建弹出窗口需要动态创建HTML...

    基于Jquery的Javascript弹出窗口

    【基于Jquery的Javascript弹出窗口】是一种在网页中实现交互式信息提示的技术,它能够以更为优雅的方式替代传统的浏览器alert、confirm和prompt对话框。Jquery是一个强大的JavaScript库,它简化了DOM操作,事件处理...

    点击按钮弹出窗口

    4. **显示弹出窗口**:在JavaScript事件处理函数中,显示刚才创建的弹出窗口。可以改变弹出窗口的CSS属性,例如`display`,使其可见: ```javascript document.getElementById('popup').style.display = 'block'; ...

    javascript循环弹出窗口

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

    自定义弹出窗口

    3. JavaScript 或者 jQuery:用于控制弹出窗口的行为,如显示、隐藏、响应用户输入、验证数据等。例如,我们可以监听某个事件(如点击按钮)来触发弹出窗口的显示,或者使用定时器自动关闭窗口。JavaScript还能实现...

    javascript点击弹出窗口

    4. **动态显示与隐藏**:通过修改CSS的`display`属性,可以控制弹出层的显示和隐藏。例如,可以将初始状态设置为`display:none`,然后在需要时通过JavaScript将其更改为`display:block`。 5. **优雅降级与响应式...

    javascript div弹出窗口 可封装为JS类

    在本案例中,"可封装为JS类"意味着开发者创建了一个可复用的JavaScript对象,该对象可以方便地管理和控制这些弹出窗口。 首先,让我们了解`div`元素。在HTML中,`&lt;div&gt;`是“division”(分隔)的缩写,是一个通用的...

    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...

    很好用的模态弹出窗口,可自定义弹出窗口外观源码

    在这个模态弹出窗口源码中,我们很可能会看到ASP.NET控件和事件处理程序的使用。 2. **模态弹出窗口**: 模态弹出窗口是一种覆盖在主页面上的对话框,用户必须先关闭弹出窗口才能继续与主页面交互。这种设计常用于...

    弹出窗口

    而非模态窗口允许用户同时操作主界面和弹出窗口。 以上是关于“弹出窗口”这个主题的一些关键知识点,涵盖了从技术实现到用户体验的多个层面。理解并熟练掌握这些知识对于开发出高效、友好的用户界面至关重要。

    div做的弹出窗口

    与传统的JavaScript alert、confirm和prompt不同,自定义的弹出窗口通过CSS控制样式,用JavaScript实现交互功能,提供了更高的定制性和用户体验。 描述中提到的“窗口可以拖动”,这涉及到JavaScript的事件监听和...

    完美弹出窗口 兼容所有浏览器

    JQuery是一个强大的JavaScript库,简化了DOM操作、事件处理和动画效果,使得开发人员能够轻松地创建交互式的网页元素,如弹出窗口。 标题中的“完美弹出窗口 兼容所有浏览器”意味着这个解决方案旨在确保在各种主流...

    js 自动弹出窗口 下来菜单效果

    紧接着,代码定义了一系列变量,用于控制弹出窗口的属性,如位置、大小和功能特性。例如: ``` Top=0; Left=0; Height=400; Width=600; ToolBar=0; Location=0; Directories=0; Status=0; MenuBar=0; Scroll=0; ...

Global site tag (gtag.js) - Google Analytics