Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.11.2021, 11:17
Новичок на форуме
Отправить личное сообщение для colgol80 Посмотреть профиль Найти все сообщения от colgol80
 
Регистрация: 16.11.2021
Сообщений: 2

Тушим ранее выбранные картинки
Добрый день) не могу сообразить как погасить картинки которые были ранее нажаты, т.е. чтобы нельзя было одновременно выбрать более одного животного. прилагаю код и весь проект в архиве, чтобы было понятнее.

$(document).ready(function(){
    $('.grid-item:not(.active)').click(function(){
        $('.grid-item').removeClass('active');
        $(this).addClass('active');
        get_background_image_name($(this).find('.image-item'));
        
    });
});
 
var unit_items = {};
 
var get_background_image_name = function($t){
 
    let unit_name = $t.attr('id');
    
    if(typeof unit_items[unit_name] === 'undefined'){
        let bg = $t.css('background-image');
        unit_items[unit_name] = editurlimg(bg);
        unit_items[unit_name][3] = true;
    }
    
    if(unit_items[unit_name][3]){
        $t.css('background-image', (unit_items[unit_name][0] + '/' + unit_items[unit_name][1] + '-active.' + unit_items[unit_name][2]));
        unit_items[unit_name][3] = false;
    }else{
        $t.css('background-image', (unit_items[unit_name][0] + '/' + unit_items[unit_name][1] + '.' + unit_items[unit_name][2]));
        unit_items[unit_name][3] = true;
    }
 
}
 
 
var editurlimg = function(str){ 
    let tmp_arr = str.split('/');
    let last_item = tmp_arr.pop();
    let last_item_arr = last_item.split('.'); 
    return [
        tmp_arr.join('/'),
        last_item_arr[0],
        last_item_arr[1],
    ];
}
Вложения:
Тип файла: zip flexbox6.zip (51.8 Кб, 0 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 16.11.2021, 11:19
Новичок на форуме
Отправить личное сообщение для colgol80 Посмотреть профиль Найти все сообщения от colgol80
 
Регистрация: 16.11.2021
Сообщений: 2

что то здесь нужно подправить, добавить в цикле допустим вернуть все картинки, которые не "активны". я не сам писал этот код, поэтому есть кое где непонимание, но поидее править нужно в этом отрезке
var get_background_image_name = function($t){
 
    let unit_name = $t.attr('id');
    
    if(typeof unit_items[unit_name] === 'undefined'){
        let bg = $t.css('background-image');
        unit_items[unit_name] = editurlimg(bg);
        unit_items[unit_name][3] = true;
    }
    
    if(unit_items[unit_name][3]){
        $t.css('background-image', (unit_items[unit_name][0] + '/' + unit_items[unit_name][1] + '-active.' + unit_items[unit_name][2]));
        unit_items[unit_name][3] = false;
    }else{
        $t.css('background-image', (unit_items[unit_name][0] + '/' + unit_items[unit_name][1] + '.' + unit_items[unit_name][2]));
        unit_items[unit_name][3] = true;
    }
 
}
Изображения:
Тип файла: jpg 111.jpg (48.9 Кб, 5 просмотров)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена картинки при нажатии на маленькие картинки comb Элементы интерфейса 4 23.03.2015 01:08
Очистка памяти, отмена загрузки картинки, отмена события. zhurchik Общие вопросы Javascript 16 23.10.2014 13:48
Идентифицировать картинки MellDixX Общие вопросы Javascript 8 04.08.2013 18:16
Получение координат от картинки EmDmAl Events/DOM/Window 4 08.11.2009 14:34
Как изменить размер картинки? Mihail Общие вопросы Javascript 1 25.10.2009 13:42