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() + "日&nbsp;&nbsp;" + week + "&nbsp;&nbsp;";
    //
    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()
原文地址:https://www.cnblogs.com/Tirisfal/p/5216812.html