3

2 つの画像をすばやく切り替える必要がある次の 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

比較演算子の代わりに代入演算子を使用しています。2 番目の条件でもor を使用します。else ifelse

への変更

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

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

そしてそれはうまくいくはずです。

このDEMOを参照してください。2秒間隔で画像を切り替えます

于 2013-04-11T12:38:46.627 に答える
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 に答える
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 に答える