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()