将javascript值传递到html<;a href>;

将javascript值传递到html<;a href>;,javascript,html,Javascript,Html,我有一个JavaScript变量imgIndex,我想把它发送给,这样我就可以根据imgIndex Javascript: <script type="text/javascript"> var imgArray = [<?php echo implode(',', getImages($cat, $site)) ?>]; window.imgIndex = <?php echo $imgid ?>; $(document).ready(function(

我有一个JavaScript变量
imgIndex
,我想把它发送给
,这样我就可以根据
imgIndex

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>
但它不起作用

关于如何将其传递给
有什么建议吗

编辑:

<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>

我不能使用的原因是我需要操作一个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
回送到

然后,您可以使用以下命令从查询字符串获取imgid:

<?php $imgid = $_GET["id"] ?>

您不能在link中使用php变量吗?如果可以,这是最好的解决方案

<a href="?action=viewcomic&id=<?php echo $imgid; ?>"><img id="prevkey" src="./images/SiteDesign/prev.png" alt="Comic Navigation"/></a>


你的问题不清楚。在发布问题之前,你应该做你的家庭作业。你需要显示锚
生成的代码。你不能将
移动到
标记的
href
中吗?我已经更新了我的代码,说明了为什么我不能直接使用php值。我已经更新了我的代码,说明了为什么我不能使用php值直接地
<a href="?action=viewcomic&id=<?php echo $imgid; ?>"><img id="prevkey" src="./images/SiteDesign/prev.png" alt="Comic Navigation"/></a>