javascript - 从父脚本访问预加载的图像以在子脚本中使用。如何?

标签 javascript

我正在尝试使用子窗口中的可单击链接来更新父窗口中的图像。我已经使用一个 javascript 文件在父窗口中预加载了图像。 “scriptss.js” 我的问题是我需要使用子脚本“scriptremote.js”访问父窗口的预加载图像,再次感谢所有 JS 帮助! JS(scriptss.js)

var newWindow = null;
window.onload = init;
var i = 0;
image_object = new Image();
myImages = new Array(); // declare array
myImages[0]="images/img1.jpg"  // load array
myImages[1]="images/img2.jpg" 
myImages[2]="images/img3.jpg"     
myImages[3]="images/img4.jpg"
myImages[4]="images/img5.jpg"
myImages[5]="images/img6.jpg"

这是父窗口的 HTML:

<img src="" width="200px" height="200px" id="myimage" name="myimage" /></img>

这是子窗口的 JS:

window.onload = init;

function init()
{
}

function first_image()
{
window.parent.image_object.src = myImages[3]; //Problem happens here I think
document.getElementById("myimage")window.parent.src = window.parent.image_object.src;

}

HTML 子窗口

<h1>My Remote</h1>
<a href="#" id="first" onclick="first_image()" >First Image</a>
</br>

最佳答案

在您的父窗口中,您实际上并未预加载图像。要预加载你应该这样做

myImages = new Array(); // declare array
myImages[0] = new Image()
myImages[0].src = "images/img1.jpg"
//etc...

现在您有了一个 Image 对象数组。

从你的子窗口(我假设是一个 iframe?)你可以引用这些对象并将 src 属性分配给父 DOM 中的图像,如下所示

window.parent.document.getElementById('myImage').src = window.parent.myImages[n].src;
// where n is the index of the image you want to display

如果您的子窗口是弹出窗口,则替换 parentopener 另外,您不需要 <img /> 的结束标签。 ,它会自动关闭

关于javascript - 从父脚本访问预加载的图像以在子脚本中使用。如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2472357/

相关文章:

javascript - 禁用从 HTML 页面拖动图像

javascript - 无法删除 HTML5 canvas arc 上的轮廓

javascript - 如何合并这些复杂的 JavaScript 数组对象?

javascript - Object.assign什么时候会返回false

javascript - Bootstrap Datepicker 重新初始化日期格式

javascript - 从 json 数据动态创建 highcharts 中的柱形图

javascript - 从 html 页面调用文件 jQuery 文件

javascript - 更改函数内的全局变量,以更改 setInterval 的第二个参数

php - 上传大文件时 POST 数据消失

javascript - 使用javascript检查url参数