【发布时间】:2014-01-31 15:36:43
【问题描述】:
我最近将我的网站从静态(仅 html + css)更改为使用 php 生成 html,例如让我有一个画廊显示特定文件夹中的所有图像等。
我的 javascript
function makeBigSimple(id){
var src = document.getElementById(id).src;
document.getElementById("imageForShow").src = src;
}
我的 php 只是回显 html。您会感兴趣的部分是这个 html。
<div class="bigImage" id="bigImage" style="background-color: rgba(26,18,255,0.4)">
<img id="imageForShow" src="images/gallery/showOff1.jpg" alt="Big Image" onLoad="resize('imageForShow','bigImage')">
</div>
<div class="smallImages">
<ul>
<li><img id="image0" src="images/gallery/showOff1.jpg" onClick="makeBigSimple('image0')" alt="Click to Enlarge" onLoad="resize('image0')"/></li>
<li><img id="image1" src="images/gallery/showOff2.jpg" onClick="makeBigSimple('image1')" alt="Click to Enlarge" onLoad="resize('image1')"/></li>
<li><img id="image2" src="images/gallery/showOff3.jpg" onClick="makeBigSimple('image2')" alt="Click to Enlarge" onLoad="resize('image2')"/></li>
<li><img id="image3" src="images/gallery/showOff4.jpg" onClick="makeBigSimple('image3')" alt="Click to Enlarge" onLoad="resize('image3')"/></li>
<li><img id="image4" src="images/gallery/showOff5.jpg" onClick="makeBigSimple('image4')" alt="Click to Enlarge" onLoad="resize('image4')"/></li>
</ul>
</div>
这些图像是通过在文件夹中搜索 .png 和 .jpg gfile 来生成的,如果它们传递了这些参数,它们将被放入一个数组中,并且为该数组中的每个项目添加一个带有参数的列表项。我也有一个计数器,可以看到“image1,image2”等。
我尝试在之前(显示我的第一张图片 (images/gallery/showOff1.jpg))和之后打印 document.getElementById("bigImageForShow").src。
之后的输出实际上是我在我的网站上点击的图片。但是 src 在视觉方面没有改变,如果我检查“大图像”元素,我仍然有起始图像的 src,即使 document.getElementById("bigImageForShow").src 另有说明。
【问题讨论】:
-
如果侦听器使用
makeBigSimple(this)传递对它所在元素的引用,则函数将缩减为function makeBigSimple(el){document.getElementById("imageForShow").src = el.src}。 -
确实如此,前几天在类似的系统上确实做到了,谢谢提示
-
找到了答案,在 php 脚本的第一行中,像这样
标签: javascript php html dynamic web