Помогите с простым скриптом, чтобы переключить 2 изображения, миниатюру и полноразмерный - PullRequest
0 голосов
/ 11 апреля 2011

Я новичок в JavaScript.У меня есть такой скрипт:

<html>
    <head>          
        <script type="text/javascript">

            var x= '<img id="im" src="thumbnail.gif">';

            switch (x)
            {
            case x=='document.getElementById("im")':
            document.getElementById('im').outerHTML='<img id="im" src="fullsize.gif">';
            break;
            case x!='document.getElementById("im")':
            document.getElementById('im').outerHTML='<img id="im" src="thumbnail.gif">';
            break;
            default: x;
            }

        </script>
    </head>
    <body>
        <span onclick="switch()">
            <img id="im" src="thumbnail.gif">
        </span>     
    </body>
</html>

Мне нужно сделать его простым, но также заставить его работать с помощью функции переключения.Я не использовал их в моем сценарии.Я также не ищу слайд-шоу.

1 Ответ

0 голосов
/ 11 апреля 2011

С одной стороны, вам не нужны кавычки около 'document.getElementById("im")', поскольку это означает, что вы ищете эту строку.Во-вторых, операторы case не работают так, синтаксис - case value, а не case expression (выражение является вашим ==).Три, у вас нет фактического вызова функции.Вы звоните switch, который ничего не делает ...

Попробуйте что-то вроде:

function swap(){
    switch(document.getElementById('im').outerHTML){
        case x:
            ...
            break;

        default:
            ...
            break;
    }
}

...

<span onclick="swap();">

, которое должно исправить ваш существующий код.Или «правильный» способ сделать это больше похож на:

function swap(){
   var node = document.getElementById('im');
   node.src = node.src.indexOf('fullsize')>=0 ? 'thumbnail.gif' : 'fullsize.gif';
}

...

<span onclick="swap();">

О, и я исправил ваш первоначальный вопрос.

...