JS备忘--子父页面获取元素属性、显示时间,iframe之间互相调用函数
//页面加载完成后执行
$(function () { getHW();});
//当用户改变浏览器大小改变时触发
$(window).resize(function () { setHW(); });
//每500毫秒运行一次
window.setInterval("getH()", 500); //获取页面的高度,并传给父页面的元素
function getSubPageH() {
var parentWorkDiv = $("#workDiv", parent.document);//工作区DIV
var parentLeftDiv = $("#leftDiv", parent.document); //左侧菜单DIV
var parentTopDiv = $("#topDiv", parent.document);//顶部DIV
var parentBotDiv = $("#bottomDiv", parent.document);//底部DIV
var parentMidDiv = $("#middleDiv", parent.document); //中间DIV var thisBody = $("body");//本页面
var parentHeight = $("body", parent.document).height(); //父页面可用高度
var parentWidth = $("body", parent.document).width(); //父页面可用宽度
if ((thisBody.height() < parentHeight) && (parentLeftDiv.height() < parentHeight)) {
parentMidDiv.height(parentHeight - parentTopDiv.height() - parentBotDiv.height());
}
else {
if (thisBody.height() > parentLeftDiv.height()) {
parentMidDiv.height(thisBody.height());
}
else {
parentMidDiv.height(parentLeftDiv.height());
}
}
parentWorkDiv.width(parentWidth - parentLeftDiv.width());//设置宽度 // alert(parentMidDiv.height() + "-" + parentHeight); } //设置页面工作区域的宽度
function setHW() {
var leftDiv = $("#leftDiv");
var workDiv = $("#workDiv");
//获取浏览器的宽度
var htmlWidth = $(document).width();
var w = htmlWidth - leftDiv.width(); workDiv.width(w);
} //显示当前时间
function showTime() {
//获取当前日期
var dateTime = new Date();
var dateStr;
//定义星期
var week = "星期";
var dayWeek = new Array("日", "一", "二", "三", "四", "五", "六");
week += dayWeek[dateTime.getDay() + 1];
//年
dateStr = dateTime.getFullYear() + "年";
//月
if (dateTime.getMonth() < 10) {
dateStr += "0";
}
dateStr += (dateTime.getMonth() + 1) + "月";
//日
if (dateTime.getDate() < 10) {
dateStr += "0";
}
dateStr += dateTime.getDate() + "日 " + week + " ";
//时
if (dateTime.getHours() < 10) {
dateStr += "0";
}
dateStr += dateTime.getHours() + ":";
//分
if (dateTime.getMinutes() < 10) {
dateStr += "0";
}
dateStr += dateTime.getMinutes() + ":";
//秒
if (dateTime.getSeconds() < 10) {
dateStr += "0";
}
dateStr += dateTime.getSeconds(); document.getElementById("lblTime").innerHTML = dateStr;
}
第一、在iframe中查找父页面元素的方法:
$('#id', window.parent.document)
第二、在父页面中获取iframe中的元素方法:
$(this).contents().find("#suggestBox")
第三、在iframe中调用父页面中定义的方法和变量:
parent.method
parent.value
第四、父页面调用iframe内的JS的方法,无须给iframe加id,只需用Jq选中iframe就行了
$("#id").find("iframe")[0].contentWindow.func()
self.opener
opener代表打开本窗口的窗口
同一个父页面中,不同iframe之间互相调用函数
var frames = window.parent.window.document.getElementById("main");//根据ID获取目标iframe
frames.contentWindow.myfun();//调用函数myfun()
JS备忘--子父页面获取元素属性、显示时间,iframe之间互相调用函数的更多相关文章
- js+jquery动态设置/添加/删除/获取元素属性的两种方法集锦对照(动态onclick属性设置+动态title设置)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140 ...
- js 在iframe子页面获取父页面元素,或在父页面 获取iframe子页面的元素的几种方式
用JS或jquery访问页面内的iframe,兼容IE/FF 注意:框架内的页面是不能跨域的! 假设有两个页面,在相同域下. index.html 文件内含有一个iframe: XML/HTML代码 ...
- iframe父页面和子页面获取元素和js变量
父页面获取iframe页面元素和变量 获取方法:$("#id")[0].contentWindow.showInfo(): 获取元素: $("#id").co ...
- javascript获取iframe框架中页面document对象,获取子页面里面的内容,iframe获取父页面的元素,
javascript获取iframe框架中,加载的页面document对象 因为浏览器安全限制,对跨域访问的页面,其document对象无法读取.设置属性 function getDocument(i ...
- iframe父页面获取iframe子页面的元素 与 iframe子页面获取父页面元素
一.在iframe子页面获取父页面元素代码如下:$('#objld', parent.document); 二.在父页面获取iframe子页面的元素代码如下:$("#objid", ...
- 使用iframe父页面调用子页面和子页面调用父页面的元素与方法
在实际的项目开发中,iframe框架经常使用,主要用于引入其他的页面.下面主要介绍一下使用iframe引入其他页面后,父页面如何调用子页面的方法和元素以及子页面如何调用父页面的方法和元素. 1.父页面 ...
- js弹框怎么获得父页面的元素
js获取父页面的元素可以用$(window.parent.document).find("#customer_id").val();这里的customer_id表示父页面某一个元素 ...
- JavaScript从父页面获取子页面的值(子页面又如何访问父页面)
之前还真没做过类似的东西,,top页面获取子页面的document.. 在百度搜了下即找到这个东东,还好,能用. 主要就是使用 contentWindow方法,获取子页面的所有document,再做处 ...
- 在iframe中获取父页面的元素
a.html <!DOCTYPE html> <html> <head> <title></title> </head> < ...
随机推荐
- Paper Reading_Database
最近(以及预感接下来的一年)会读很多很多的paper......不如开个帖子记录一下读paper心得 AI+DB A. Pavlo et al., Self-Driving Database Engi ...
- mysql proxysql的简单部署读写分离
环境需求(centos) proxysql-server(1)-- 地址:proxysql-service mysql-master-server(1)--- 地址:mysql1-service my ...
- STL 之 queue
默认容器为双端队列deque 常用的函数有: empty Test whether container is empty (public member function ) size Return s ...
- java中的数据类型,基本数据类型及其包装类型
java中的8大基本类型及其包装类型 1,int--->Integer 2,byte--->Byte 3,short--->Short 4,long--->Long 5,cha ...
- ise和quartus共用仿真软件
modelsim仿真ISE工程时出现# ** Error: (vlog-19) Failed to access library 'rtl_work' at "rtl_work" ...
- PC端网站微信扫码登录
需求分析:用户通过扫描我们网页的二维码,如果已经绑定我们平台的账户,即成功进入首页,否则提示先绑定个人微信账号. 1.绑定微信账号:是通过关注微信公众号实现绑定个人微信账号.首先通过后台接口获取到ti ...
- 解决vuex数据页面刷新后初始化问题
在vue项目的开发中经常会用到vuex来进行数据的存储,然而在开发过程中会出现刷新后页面的vuex的state数据初始化问题!下面是我用过的解决方法 利用storage缓存来实现vuex数据的刷新问题 ...
- 原生JS滚动条位置处理
// 滚动条位置 var scrollPosition = { // 位置 result: 0, // 监听位置 rememberPosition: function () { var type = ...
- python添加清屏功能
创建文件ClearWindow添加内容 class ClearWindow: menudefs = [ ('options', [None, ('Clear Shell Window', '<& ...
- C语言对传入参数的处理
/* Loop through argv parsing options. */ while ((c = getopt(argc, argv, ":f:a:l:h")) != ...