JavaScript 动态网页实例 —— 窗口控制

news2024/11/18 12:37:54

        除了打开和关闭窗口之外,还有很多其他控制窗口的方法。例如,可以使用 window.focus()方法使窗口获得焦点,也可以利用与其相对的window.blur 方法使窗口失去焦点。本节介绍移动窗口、改变窗口大小、窗口滚动、窗口超时操作、常用窗口事件、常用窗口扩展等窗口控制的方法和手段。

窗口移动

本节给出一段窗口移动的示例代码,可以实现移动窗口在屏幕上位置的改变。位置改变时,既可以逐渐位移,也可一步到位。

要点

本节代码主要使用了 window.moveBy()方法和 window.moveTo()方法,二者的主要功能和用法如下。

  • window.moveBy()方法将窗口移动指定的像素数,其语法格式为“窗口名称.moveBy(水平像素数,垂直像素数)”。其中,“窗口名称”指要移动的窗口的名称。如果只有主窗口,则指该主窗口:“水平像素数”指在水平方向上移动窗口的像素数:如果为正数,则向右移动;如果是负数,则向左移动;“垂直像素数”指在垂直方向上移动窗口的像素数。如果为正数,则向上移动;如果是负数,则向下移动。
  • 如果想将窗口移动到一个确定的位置,更好的办法是使用 window.moveTo()方法。该方法会将窗口移动到屏幕上以平面坐标表示的固定位置。其语法格式为“窗口名称.moveTo(x坐标,y 坐标)”。其中,“窗口名称”指要移动的窗口的名称。如果只有主窗口,则指该主窗口;“x坐标”是要将窗口移动到的屏幕上x轴的坐标数;“y坐标”是要将窗口移动到的屏幕上y轴的坐标数。
<script type="text/javascript">
<!--
var myWindow;
function openIt() //函数:打开
{
//要打开的新窗口的特征
myWindow = open('','mywin','height=300,width=300,scrollbars=yes');
//新窗口页面HTML头部信息
myWindow.document.writeln("<html><head><title>新窗口</title></head>");
//新窗口页面HTML主体信息
myWindow.document.writeln("<body bgcolor='#ffcc00'>");
myWindow.document.writeln("<h1>这里是新窗口</h1><hr>");
myWindow.document.writeln("<h5>用递归求阶乘函数:</h5><pre>");
myWindow.document.writeln("function factorial(aNumber)<br>{");
myWindow.document.writeln("   // 如果这个数不是一个整数,则向下舍入。");
myWindow.document.writeln("   aNumber = Math.floor(aNumber);");
myWindow.document.writeln("   if (aNumber < 0)");
myWindow.document.writeln("   {  // 如果这个数小于 0,拒绝接收。");
myWindow.document.writeln("       return -1;<br>   }");
myWindow.document.writeln("   if (aNumber == 0)");
myWindow.document.writeln("   {  // 如果为 0,则其阶乘为 1。");
myWindow.document.writeln("      return 1;<br>   }");
myWindow.document.writeln("   else<br>      // 否则,递归直至完成。");
myWindow.document.writeln("      return (aNumber * factorial(aNumber - 1));");
myWindow.document.writeln("}</pre></body></html>");
myWindow.document.close();  //关闭输入
myWindow.focus();          //获取焦点
}

function moveIt()  //函数:移动
{
if ((window.myWindow) && (myWindow.closed == false))
myWindow.moveTo(document.testform.moveX.value,
document.testform.moveY.value);
}
//-->
</script>

e0cb995e20334d3cade66ae9672782bb.png

分析

(1)程序首先建立了两个文本框和若干按钮,文本框用于输入窗口要移动到的坐标值,按钮则关联相应的事件处理程序,用于对窗口进行移动。

(2)在<body>标签中添加了“οnlοad="openlt();"”属性,关联函数 openIt(),当窗口打开时,会调用该函数,打开一个新窗口。新窗口的内容是一段JavaScript 程序代码,由一系列的“myWindow.document.writeln( )”实现。

(3)“向上移”、“向下移”、“向左移”、“向右移”4个按钮的onclick 事件分别关联一个if语句,使用 window.moveBy()方法对窗口进行移动,每次移动的幅度为 10像素。

(4)“移动到”按钮的 onclick事件与函数 movelt()相关联。在函数 moveIt()中,如果新窗口已打开且未完毕,则使用用户输入的值作为参数,调用window.moveTo()方法对窗口进行移动。

改变大小

本节给出一段改变窗口大小的示例代码,可以实现对窗口大小进行调整。调整大小时既可以逐渐改变,也可一步到位。

要点

本节代码主要使用了 window.resizeBy()方法和 window.resizeTo()方法,二者的主要

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1721094.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI办公自动化:用通义千问Qwen-Long批量总结PDF长文档内容

Qwen-Long是在通义千问针对超长上下文处理场景的大语言模型&#xff0c;支持中文、英文等不同语言输入&#xff0c;支持最长1000万tokens(约1500万字或1.5万页文档)的超长上下文对话。配合同步上线的文档服务&#xff0c;可支持word、pdf、markdown、epub、mobi等多种文档格式的…

HCIP-Datacom-ARST自选题库__BGP/MPLS IP VPN判断【10道题】

1.部署BGP/MPLSIP VPN时,当两个VPN有共同的站点,则该共同站点一定不能与两个VPN其他站点使用重叠的地址空间。 2.如图所示&#xff0c;运营商BGP/MPLSIP VPN骨干网通过LDP构建LSP&#xff0c;若想实现用户X两个站点之间通过BGP/MPLSIP VPN网络互通&#xff0c;则PE1和PE2之间必…

大规模 Transformer 模型 8 比特矩阵乘

本文基于 Hugging Face Transformers、Accelerate 以及 bitsandbytes库。 Transformers&#xff1a;Hugging Face 提供的一个开源库&#xff0c;包含了多种预训练的 Transformer 模型&#xff0c;方便用户进行各种 NLP 任务。Accelerate&#xff1a;Hugging Face 开发的一个库…

【STM32】定时器与PWM的LED控制

目录 一、定时器控制LED周期性亮灭&#xff08;一&#xff09;定时器1.STM32F103定时器分类及区别2.通用定时器主要功能3.通用定时器工作过程 &#xff08;二&#xff09;STM32CubeMX创建工程&#xff08;三&#xff09;代码实现&#xff08;四&#xff09;实验结果 二、PWM模式…

7.1 Go 错误的概念

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

富士摄像机X-H2S MOV格式化后重新写入后的恢复方法

X-H2S是富士数码的一款旗舰机型&#xff0c;支持4K/6K高清&#xff0c;视频编码为最新的HVC。下面我们来看下富士数码摄像机恢复案例。 故障存储:512G存储卡 Exfat文件系统 故障现象: 512G的卡误格式化后又进行了拍摄&#xff0c;卡使用了120G不到的空间&#xff0c;其它底…

深入分析 Android Service (五)

文章目录 深入分析 Android Service (五)1. 深入分析 Service 与 Activity 之间的通信2. Messenger 的内部工作原理2.1 服务端实现2.2 客户端实现 3. AIDL 的内部工作原理3.1 定义 AIDL 接口3.2 服务端实现3.3 客户端实现 4. Service 的优化建议和最佳实践4.1 异步操作4.2 资源…

Vite项目构建chrome extension,实现多入口

本项目使用Vite5 Vue3进行构建。 要使用vite工程构建浏览器插件&#xff0c;无非就是要实现popup页面和options页面。这就需要在项目中用到多入口打包&#xff08;生成多个html文件&#xff09;。 实现思路&#xff1a; 通过配置vite工程&#xff0c;使得项目打包后有两个h…

每天学点小知识:WSL安装Ubuntu 22.04 LTS

前言 本章教会你在不使用虚拟机下使用linux&#xff0c;但是这里建议还是使用虚拟机&#xff0c;或者装一双系统&#xff0c;wsl使用linux还是有很多问题的。 1. 简介WSL WSL&#xff08;Windows Subsystem for Linux&#xff09;是微软为Windows 10及以上版本开发的一项功能…

如何在IDEA中实现类似Linux命令那样的外部传参

【背景说明】 IDEA中执行一个程序时&#xff0c;如何就在程序一开始执行给传入你给的参数呢&#xff1f; 【说明】 public static void main(String[] args) throws Exception {} 说明&#xff1a;其实java中main方法里的args这个参数&#xff0c;就是用于接收外部传参的。…

注意力机制详解

引言 在阅读一篇文章时&#xff0c;我们的大脑并不平等地处理每一个字词&#xff0c;而是根据上下文自动筛选出核心信息进行深入理解。注意力机制正是借鉴了这一生物学灵感&#xff0c;使得机器学习模型能够动态地分配其“注意力”资源&#xff0c;针对不同的输入部分赋予不同…

R语言ggplot2包绘制网络地图

重要提示&#xff1a;数据和代码获取&#xff1a;请查看主页个人信息&#xff01;&#xff01;&#xff01; 载入R包 rm(listls()) pacman::p_load(tidyverse,assertthat,igraph,purrr,ggraph,ggmap) 网络节点和边数据 nodes <- read.csv(nodes.csv, row.names 1) edges…

6个PPT素材模板网站,免费!

免费PPT素材模板下载&#xff0c;就上这6个网站&#xff0c;建议收藏&#xff01; 1、菜鸟图库 ppt模板免费下载|ppt背景图片 - 菜鸟图库 菜鸟图库是一个设计、办公、媒体等素材非常齐全的网站&#xff0c;站内有几百万的素材&#xff0c;其中PPT模板就有几十万个&#xff0c;…

Java——变量

一、变量介绍 变量就是申请内存来存储值。也就是说&#xff0c;当创建变量的时候&#xff0c;需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间&#xff0c;分配的空间只能用来储存该类型数据。 1、变量声明和初始化 变量的声明&#xff1a; int a; i…

05.k8s弹性伸缩

5.k8s弹性伸缩 k8s弹性伸缩,需要附加插件heapster监控 弹性伸缩&#xff1a;随着业务访问量的大小&#xff0c;k8s系统中的pod比较弹性&#xff0c;会自动增加或者减少pod数量&#xff1b; 5.1 安装heapster监控 1:上传并导入镜像,打标签 ls *.tar.gz for n in ls *.tar.gz…

Github 2024-06-01 开源项目日报Top10

根据Github Trendings的统计,今日(2024-06-01统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目5Jupyter Notebook项目2TypeScript项目1Go项目1Shell项目1Lua项目1Kong:云原生API网关与AI能力 创建周期:3482 天开发语言:Lua协议…

C# 字节数组(byte[])拼接的性能对比测试

将C#中的三种字节数组拼接方式的性能做了一个对比测试&#xff0c;DEMO程序代码如下&#xff1a; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks;namespace Byte数组拼接测…

秋招突击——算法打卡——5/30——复习{最大上升子序列的和、面试算法缺陷补充}——新做:{回文数+补充 自定义Stoi实现、正则表达式匹配}

文章目录 复习导弹拦截——最大上升子序列和推理过程实现代码补充昨日面试 新作回文数实现代码 字符串转整数正则表达式匹配个人实现思路分析实现代码如下 参考做法思路分析实现代码 总结 复习 导弹拦截——最大上升子序列和 同样类型题目链接&#xff1a;导弹拦截重做这道题…

docker 启动关闭,设置仓库地址

1. 配置/etc/docker/daemon.json cat /etc/docker/daemon.json# 内容 {"registry-mirrors": ["https://0nth4654.mirror.aliyuncs.com"],"insecure-registries": ["harbor.domain.io"] }2. 配置systemd启动文件 和方法1配置会有冲突&a…

HarmonyOS鸿蒙学习笔记(25)相对布局 RelativeContainer详细说明

RelativeContainer 简介 前言核心概念官方实例官方实例改造蓝色方块改造center 属性说明参考资料 前言 RelativeContainer是鸿蒙的相对布局组件&#xff0c;它的布局很灵活&#xff0c;可以很方便的控制各个子UI 组件的相对位置&#xff0c;其布局理念有点类似于android的约束…