javascript代码只与mozilla firefox一起使用?

时间:2012-02-10 09:23:55

标签: javascript

在我的网站上,我有一个图像查看器。每次用户单击向左或向右按​​钮时,页面的URL将以常规方式更改。图像src使用当前页面的url中的特定数字(url中的唯一数字)。下面我提供了我正在使用的代码。代码工作正常,但它只适用于mozilla firefox。如何修复它以使其适用于所有浏览器。其他浏览器的问题是图像没有出现。

<img src="" id="image" >
    <script type="text/javascript">
        document.getElementById('image').src ="Images/"+location.href.match(/\d+/)+".jpg";
        <br/>
        document.wrriteln(location.href.match(/\d+/)+".jpg");
    </script>
    <br/>
    <script>
    var url = location.href;
    function nextImage() {
        return(url.replace(/(\d+)(\.html)$/, function(str, p1, p2) {
            return((Number(p1) + 1) + p2);
        }));
    }
    function prevImage() {
        return(url.replace(/(\d+)(\.html)$/, function(str, p1, p2) {
            return((Number(p1) - 1) + p2);
        }));
    }
    </script>
      <a href="javascript: window.location.href = prevImage();"> <img border="0" src="Assets/Left.png" /></a>
      <a href="javascript: window.location.href = nextImage();"> <img border="0" src="Assets/Right.png"/></a>

3 个答案:

答案 0 :(得分:4)

你应该做的是

<a href="#" id="prevImageControl">

并在javascript块中执行

prevImageClick = function()
{
    window.location.href = prevImage();
}

var prevImageControl = document.getElementById('prevImageControl');
prevImageControl.addEventListener('click', prevImageClick);

重复nextImage()

答案 1 :(得分:0)

你需要改变这些:

<a href="javascript: window.location.href = prevImage();"> <img border="0" src="Assets/Left.png" /></a>
<a href="javascript: window.location.href = nextImage();"> <img border="0" src="Assets/Right.png"/></a>

点击事件。

<a href="#" onclick="javascript: window.location.href = prevImage();return false;"> <img border="0" src="Assets/Left.png" /></a>
<a href="#" onclick="javascript: window.location.href = nextImage();return false;"> <img border="0" src="Assets/Right.png"/></a>

或者更好的是,将它们放入功能中。

答案 2 :(得分:0)

你在document.writeln

中有一个双r