如何在Javascript中将来自另一个页面的ID引用为变量
How to reference an ID from another page as a variable in Javascript
通过这里所有人的帮助,我终于在画廊网站上取得了一些进展,谢谢。现在我还有最后一个问题,希望非常简单。首先,场景如下:
由于我是Javascript的新手,我正在尝试学习JavaScriptBRFORE,我深入研究了jquery,所以我试图用(我相信这个词是)普通的Javascript做所有事情。在不涉及所有代码的情况下,我为我的艺术作品制作了一个图库,在页面顶部有一个拇指滑块和一个显示所选艺术作品(包括其他视图、描述、标题等)的字段。我现在没有处理多阵列,而是构建了一个名为"gallery/php"的页面,其中包含了将被调用到字段中的所有预构建的div(标题为"generic")。使用innerHTML,我进行了一个简单的调用,这样当选择了所需的缩略图时,它会按id调用相应的div,并将其写入"generic"div。
很简单。。。
问题是,我有大约40个这样的页面,如果我做了一个php include,并将include隐藏在一个隐藏的div中,而艺术作品没有显示,那么加载页面将永远花费时间,这似乎是一个非常糟糕的主意。我想做的是修改我现在使用的函数,这样它就不会在当前页面上调用id,而是知道要引用哪个外部页面,以及用哪个div(基于id)来拉取和填充"generic"div。脚本当前如下所示:
function changeDiv(art) {
viewer = document.getElementById('generic'),
targetInfo = document.getElementById(art);
viewer.innerHTML = targetInfo.innerHTML;
}
我想做的是(忽略语法):
function changeDiv(art) {
viewer = document.getElementById('generic'),
targetInfo = ***src = gallery.php, #(art);***
viewer.innerHTML = targetInfo.innerHTML;
}
我唯一看到的与我想做的类似的是jquery中的.load(),但我不知道如何将其转换回javascript。
好!这是我的尝试。请注意,虽然这可能应该通过AJAX库(如jQuery)进行审查,但这不是OP所要求的。
**此外,我不知道gallery.php的设置,所以我尽了最大努力。
**我也知道这很可怕,没有任何验证或其他好处,但这更多的是一个概念的证明。(那些务实程序员的跟踪代码)
假设您有一个gallery.php设置如下:
<?php
$pull = $_GET["pull"];
$gallery[0] = "<div>Your art work img tags here</div>";
$gallery[1] = "<div>Some more art work</div>";
//Pull from the changeDiv parameter in the JavaScript below.
echo $gallery[$pull];
?>
我们将使用一些JavaScript,如下所示:
var changeDiv = function(pull) {
//Pull parameter indicates an array
//index within the gallery.php $gallery array
var ajaxObj;
//Our AJAX objet shall be declared
if(window.XMLHttpRequest) {
ajaxObj = new XMLHttpRequest();
}
else {
ajaxObj = new ActiveXObject("Microsoft.XMLHTTP");
}
//When the ajaxObj changes it's ready
//state, do this stuff below
ajaxObj.onreadystatechange = function() {
//But only if the ready state is
//really ready and the status is good to go
if(ajaxObj.readyState==4 && ajaxObj.status==200) {
var response = this.responseText;
document.getElementById("viewer").innerHTML=response;
}
}
//Open the async connection to
//gallery.php and send your GET
//global (pull)
ajaxObj.open("GET","gallery.php?pull="+pull,true);
//Send it and pray
ajaxObj.send();
}
http://www.smashingmagazine.com/2008/10/16/50-excellent-ajax-tutorials/-AJAX 的一些教程列表
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- 如何在Javascript中将来自另一个页面的ID引用为变量
- FireFox-在全局作用域中由id名称引用的元素.使用w3c标准
- 如何在给定 id 的情况下引用“标题”
- 用户输入的动态表,单元格id作为网格引用
- 如何在另一个视图中获取元素的引用id-UI5
- 按对象的 ID 删除对选定对象的对象引用
- 如何通过它引用谷歌地图标记's id并激活它's使用javascript单击事件
- 在jQuery中,按ID、类名或标记名引用的效率最高吗
- 引用显式元素 ID
- 使用 javascript 通过 ID 正确引用对象
- 未捕获的引用错误: 未定义导出 ID
- 如何使用 ahref 链接引用另一个页面 ID
- 如何使用 onclick 事件引用按 id 计算选中的复选框
- 在JavaScript中通过ID引用特定的表(<tbody>)
- 将文本存储在由id引用的span中
- 如何通过ID引用java脚本中动态生成的元素
- 如何在Javascript中使用变量通过ID引用DOM元素
- Javascript AMCharts通过ID引用图形不工作
- 如何通过angular2中的id引用模板