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> < ...
随机推荐
- 剑指offer-二叉树的下一结点-树-python
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 思路:中序遍历,pNode节点的下一个节点根据中序 ...
- IBM公司的面试题,看看你能做出多少。
进入IBM差不多是每一个IT人的梦想.IBM公司向来以高素质人才作为企业持续竞争力的保证,所以经常出一些千奇百怪的面试题,来考验一个人的综合能力,以下是5道IBM曾经出过的面试题,看看你能作出几道: ...
- 一、.net Core bundleconfig.json
一.bundleconfig.json [ { "outputFileName": "wwwroot/css/site.min.css", "inpu ...
- 使用node来搭建简单的后台业务
现在作为一个前端开发人员,越来越多的技术需要学习,近几天学习了下node.js,在很多前端以及后端应用了该技术,现在记录下自己摸索的一些简单的知识记录下来. 我的博客都是直接分享应用方法,没有说明一些 ...
- 02MySQL数据库
1.MySQL启动和关闭 2.登录MySQL数据库 MySQL是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的root账号,使用安装时设置的密码即可登录. 格式1:cmd> m ...
- CCPC-Wannafly Winter Camp Day1 (Div2) 吃豆豆 (DP)
题目描述 wlswls在玩一个游戏. wlswls有一个nn行mm列的棋盘,对于第ii行第jj列的格子,每过T[i][j]T[i][j]秒会在上面出现一个糖果,第一次糖果出现在第T[i][j]T[i] ...
- pandas 的index用途
# pandas的索引index的用途 # 把数据存储于普通的column列也能用于数据查询,那使用index有什么好处? # 1.更方便的数据查询 # 2.使用index可以获得性能提升 # 3. ...
- php.ini中时区设置不成功解决方法
一.在php.ini的[Date]中加入 [Date] date_default_timezone_set('UTC'); date.timezone = "Asia/Shanghai&qu ...
- apache-2.4.x 编译安装方法
apache-2.4.x 编译安装方法 作者:朱 茂海 /分类:Apache 字号:L M S apache-.2与新出的apache-.4安装不同的地方在于,.4版的已经不自带apr库,所以在安装a ...
- Python中decode与encode的区别
摘抄: 字符串在Python内部的表示是Unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符解码(decode)成unicode,再从unicode编码 ...