>我有一个 JavaScript 变量imgIndex
,我想把它发送到一个<a href="...">
,这样我就可以根据imgIndex
更改 id
Javascript:
<script type="text/javascript">
var imgArray = [<?php echo implode(',', getImages($cat, $site)) ?>];
window.imgIndex = <?php echo $imgid ?>;
$(document).ready(function() {
var img = document.getElementById("showimg");
img.src = imgArray[<?php echo $imgid ?>];
$(document).keydown(function (e) {
var key = e.which;
var rightarrow = 39;
var leftarrow = 37;
var random = 82;
if (key == rightarrow)
{
imgIndex++;
if (imgIndex > imgArray.length-1)
{
imgIndex = 0;
}
img.src = imgArray[imgIndex];
}
if (key == leftarrow)
{
if (imgIndex == 0)
{
imgIndex = imgArray.length;
}
img.src = imgArray[--imgIndex];
}
if (key == random)
{
imgIndex = Math.floor((Math.random()*(imgArray.length-1))+1);
img.src = imgArray[imgIndex];
}
});
});
</script>
.HTML:然后在此处发送imgIndex
,以便图像的 id 等于 imgIndex
:
<a href="?action=viewcomic&id=imgIndex"><img id="prevkey" src="./images/SiteDesign/prev.png" alt="Comic Navigation" /></a>
但它不起作用。
关于如何将其传递给<a href="...">
的任何建议?
编辑:
我不能使用的原因是因为我需要操作一个javascript变量,而不是一个数字(因为浏览器渲染php值)。
您可以在处理完imgIndex
后操作链接的目标。
document.getElementById("yourLinkId").href = "?action=viewcomic&id=" + window.imgIndex;
除此之外,您可以将事件处理程序附加到链接中,我在这里将其作为jQuery的示例显示:
$("#yourLinkId").on("click", function()
{
$(this).attr("href", "?action=viewcomic&id=" + window.imgIndex);
});
这样做,如果你像这样回显imgIndex
到<a>
标签中:
<a href="?action=viewcomic&id=<?php echo $imgid ?>"><img id="prevkey" src="./images/SiteDesign/prev.png" alt="Comic Navigation" /></a>
然后,您可以使用以下命令从查询字符串中获取 imgid:
<?php $imgid = $_GET["id"] ?>
你不能在链接中使用 php 变量吗? 如果可以的话,是最好的解决方案。
<a href="?action=viewcomic&id=<?php echo $imgid; ?>"><img id="prevkey" src="./images/SiteDesign/prev.png" alt="Comic Navigation"/></a>