【发布时间】:2012-07-16 01:54:32
【问题描述】:
首先,感谢这个社区。我慢慢开始理解这些东西,我感谢所有的反馈。也就是说,我提出了另一个问题。
情况: 我正在尝试建立一个新站点,并且正在尝试将其用作学习经验来使用一些 php 并自学 javascript(注意,我现在想坚持使用 js,直到我得到更好地处理js)。我创建了一个画廊,顶部有一系列缩略图,点击后会在下面的 div 中填充艺术品、标题和说明。
设置: 因为我想用名称而不是数字(例如数组)来调用它们,所以它们可以互换,我将每个构建为包含所有组件的 id div,然后通过脚本将其调用到目标位置:
function changeDiv(id) {
var target = document.getElementById('generic');
var id = document.getElementById(id);
target.innerHTML = id.innerHTML;
}
在正文中是这样的:
<img src="images/thumbs/digital-art/thumb-space-oddity.jpg" id="thumb-space-odity" onclick="callDiv('space-oddity')"/>
...
<div class="gallery-frame" id="generic"></div>
目前这是可行的,但由于我必须有一个位置来调用所有 div,因此我在页脚中添加了一个 php 包含,因此它最后加载但包含我可能需要的所有图像:
<div style="display:none;">
<?php include("gallery.php"); ?>
</div>
...但据我了解,这仍然意味着页面将加载所有会真正减慢页面速度的内容。所以我需要一个新的解决方案。
我的挑战: 首先,有没有办法专门在javascript中做到这一点?如果是这样,我很乐意这样做!
假设我不能,我已经开始研究 AJAX 以了解它是如何工作的,虽然它开始具有名义意义(对于 javascript 来说仍然是新的,所以我只了解它的一半)以及 w3schools.com 和 stackoverflow topic 我之间我想我对我需要做什么有一个大致的了解,但它仍然无法正常工作。
问题: 根据上面的 stackoverflow 评论,我尝试在自己的实例中重新创建示例函数,并将其设置如下:
<script type="text/javascript">
function createXMLHttpRequest() {
try {
return new XMLHttpRequest();
}
catch (e)
{ alert('XMLHttpRequest not working'); }
try {
return new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{ alert('Msxml2.XMLHTT not working'); }
try {
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{ alert('Microsoft.XMLHTTP not working'); }
alert("XMLHttpRequest not supported");
return null;
}
function callDiv(id) {
var xmlHttpReq = createXMLHttpRequest();
var url = "gallery.asp?ID=" + id;
xmlHttpReq.open("GET", url, true);
xmlHttpReq.send();
}
</script>
根据我所读到的内容,我只保留了第一部分,因为它设置了函数(删除 null 和提示,因为我不需要它们)并尝试让 callDiv 函数运行与我之前的脚本相同正在使用。我还将gallery.php 页面保存为.asp 页面,但我应该将其保留为php 吗?
必须是 .ashx 吗?
由于我不知道调用它的文件,所以我不知道原始示例中使用的“?REASON”是什么意思。我试过 ?ID 以为我在告诉它寻找一个 ID。这是错误的,还是不必要的?
谢谢!
-克里斯
【问题讨论】:
-
尝试格式化您的代码,并简要说明,但最重要的细节。
-
我查看后发现它没有保存。刚刚编辑完
-
你是正确的使用ajax,但是,当你在你的页面上插入ajax的结果?
-
它还没有完成,但这里是当前页面,因为除了第一个缩略图之外,它应该使用包含的 php 工作 - 缩略图不工作是我正在尝试使用 ajax 的那个在。但要回答你的问题,ajax 应该让第一个缩略图像其他 4 个一样:chrisjohndesigns.com/artwork-awa.php 再次,没有完成所以请原谅混乱......
-
我想我完全不明白你的问题。如果你能简单地解释一下,只有重要的事情,我会感谢你。
标签: php javascript html ajax ashx