не могу получить функцию переключения JQuery - PullRequest
0 голосов
/ 20 августа 2011

пытается поменять два изображения в зависимости от того, на что нажал пользователь.

, поэтому он должен скрыть изображение, которое пользователь только что щелкнул, и показать то, что было скрыто.

здесь должно быть что-то не так ...

<!-- toggle for contrast buttons -->
<script type=text/javascript>
        $("a.contrast-button").click(function () {
            $("a.contrast-button").toggle();
        });
</script>



<div class="span-16 last" id="access-controls">
    <a class="contrast-button" id="switchDark" href="#"><img src="/static/images/contrast-dark.png" /></a>
    <a class="contrast-button" id="switchRed" style="display:none;" href="#" ><img src="/static/images/contrast-light.png" /></a>
    <a class="access-nav" href="#">contrast:</a>
</div>

1 Ответ

1 голос
/ 20 августа 2011

Работает до тех пор, пока вы назначаете обработчик на .ready().

Пример: http://jsfiddle.net/6NvN8/

 // v------ensures the DOM is ready before running code within
$(function() {
    $("a.contrast-button").click(function() {
        $("a.contrast-button").toggle();
    });
});

Если порядок вашего кода точнокак вы показываете в вопросе, тогда элементы еще не существуют, когда выполняется код jQuery.

Если вы просто переверните его, это также заставит его работать.

Пример: http://jsfiddle.net/6NvN8/1

<div class="span-16 last" id="access-controls">
    <a class="contrast-button" id="switchDark" href="#"><img src="/static/images/contrast-dark.png" /></a>
    <a class="contrast-button" id="switchRed" style="display:none;" href="#" ><img src="/static/images/contrast-light.png" /></a>
    <a class="access-nav" href="#">contrast:</a>
</div>


<!-- toggle for contrast buttons -->
<script type=text/javascript>
        $("a.contrast-button").click(function () {
            $("a.contrast-button").toggle();
        });
</script>

Это связано с тем, что элементы могут загрузить до запуска вашего сценария.

...