• 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()
  • 相关阅读:
    表单
    框架
    表格
    列表
    标签
    封装类(包装类)
    常见类 --Object
    日志
    异常
    选择结构
  • 原文地址:https://www.cnblogs.com/Tirisfal/p/5216812.html
Copyright © 2020-2023  润新知