3

我有以下 Javascript 代码,应该可以在两个图像之间快速切换:

<head runat="server">
    <title>Home Page</title>

    <script src="Resources/jQuery.js" type="text/javascript"></script>
    <script type="text/javascript">
        function changeImage()
        {
            requestAnimationFrame(changeImage);

            var url = document.getElementById('Change_Image').src;

            if (url == 'Resources/Share1.bmp')
            {
                document.getElementById('Change_Image').src = 'Resources/Share2.bmp';
            }

            else
            {
                if (url == 'Resources/Share2.bmp')
                {
                    document.getElementById('Change_Image').src = 'Resources/Share1.bmp';
                }
            }
        }    
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <h1>Welcome to my Website</h1>
            <h2>Below you can find an example of visual cryptography</h2>
            <br />
            <br />
            <div><img id="Change_Image" src="Resources/Share1.bmp" alt="Letter A" /></div>
        </div>
    </form>
</body>
</html>

不幸的是,该代码不起作用,并且图像不会更改为另一个。我究竟做错了什么?我对 JavaScript 很陌生,所以请多多包涵?

4

3 回答 3

6

您正在使用分配运算符而不是比较运算符。也使用else ifor 只是else在第二种情况下。

改成

if (url == 'Resources/Share1.bmp')

else if (url == 'Resources/Share2.bmp')

它应该可以工作。

请参阅此DEMO以帮助您。它以 2 秒的间隔切换图像

于 2013-04-11T12:38:46.627 回答
0

你的逻辑似乎有问题。看这段代码

var url = document.getElementById('Change_Image').src;

            if (url = 'Resources/Share1.bmp')
            {
                document.getElementById('Change_Image').src = 'Resources/Share2.bmp';
            }

你的标记是

<div><img id="Change_Image" src="Resources/Share1.bmp" alt="Letter A" /></div>

url 的值将始终为 Resources/Share1.bmp。同样正如其他海报提到的平等是 == 而不是 =

于 2013-04-11T12:44:39.500 回答
0

我看到 jquery 包括在内,也许是 mvc 应用程序?

您可以使用 jquery 切换: http ://api.jquery.com/toggle/

你的html:

<div class="someContainer">
 <img class="Change_Image" src="Resources/Share1.bmp" alt="Letter A" />
 <img class="Change_Image" src="Resources/Share2.bmp" alt="Letter B" style="display:none"/>
</div>

你的JavaScript:

$(".someContainer").find(".Change_Image").toggle();

你想要一些效果

$(".someContainer").find(".Change_Image").toggle("slow");
于 2013-04-11T12:50:53.967 回答