Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как сделать? (https://javascript.ru/forum/jquery/47534-kak-sdelat.html)

Kosta654 27.05.2014 15:59

Как сделать?
 
Здравствуйте! Помогите решить задачу:

Есть блок:

Код:


<div id="div_for_img">
<img id="img_1" src="images/moto4.jpg" width="200" height="125" alt="Мотоцикл 1" />
<img id="img_2" src="images/moto2.jpg" width="200" height="125" alt="Мотоцикл 2" />
<img id="img_3" src="images/moto3.jpg" width="200" height="125" alt="Мотоцикл 3" />
<img id="img_4" src="images/moto1.jpg" width="200" height="125" alt="Мотоцикл 4" />
</div>




Вот код JQUERY:

Код:

$(document).ready(function() {




    var flag = new Boolean(true);

    $('#div_for_img img').click(function(){
        if (flag) {
            flag = false;
            func1.call(this);
        }else {
            flag = true;
            func2.call(this);
        }
        return false;
    });

        function func1(){
        $(this).css('border', '4px solid #cc0000');

        }

        function func2(){
        $(this).css({
            'border': 'none'
        });
        }


}); // Конец ready

При щелчке на картинку появляется рамка, при следующем счелчке исчезает.

Использую новую версию библиотеки и вот функция toggle здесь не работает. Нашол замену код выше, а как сделать чтоб при щелчке с shiftKey появлялась рамка одного цвета , а при щелчке без shiftKey другого. С помощью toggle решается без проблем, а как в этом варианте такое реализовать?

WorM32 27.05.2014 16:09

$('#div_for_img').on('click', 'img', function (e) {
    $(this).toggleClass('active', e.shiftKey);
});

http://jsfiddle.net/gR6F3/2/

Kosta654 27.05.2014 17:46

Спасибо работает


Часовой пояс GMT +3, время: 09:00.