Фоновое изображение исчезает при нажатии на значок портфолио

#jquery

#jquery

Вопрос:

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

Вы можете увидеть фрагмент, на который я ссылаюсь: http://209.142.68.153/#work-showcase

Например, если кто-то нажмет на второй значок, основной фон над ним исчезнет в этом фрагменте работы.

Любая помощь будет оценена.

Ответ №1:

Хотя перекрестные затухания обычно выглядят лучше всего, это обычно связано с такими сложностями, как использование контейнерного div с его позицией, установленной в relative, а затем двух дочерних divs, установленных в: (позиция: абсолютная; сверху: 0; слева: 0;).

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

 $('.gallery a').click(function() {
  var linkElement = $(this);
  $('.work-header').animate({opacity:0}, 1000, function() {
    // <li id="filename1"> ... </li>
    var filename = linkElement.closest('li').attr('id');
    $('.work-header').css('background-image', 'url(path/to/'   filename   '.jpg)');

    // You will highly likely want to implement an "onLoad" for
    // the image above because it will start fading back in
    // whether or not the image has finished loading.
    $('.work-header').animate({opacity:1}, 1000);
  });
});
  

Комментарии:

1. Калеб, это сработало отлично. Моя единственная проблема сейчас — есть 21 значок. С каждым из них будет связано другое изображение для загрузки вверху. Как я могу легко управлять этим? Могу ли я настроить поиск идентификатора в теге <li>, если имена фоновых файлов были согласованы?

2. Отлично! Рад слышать, что у вас это получилось! Что касается загрузки изображений… существует множество способов сделать это … лично я бы написал функцию AddThumb(), которой вы передаете параметры. В противном случае, как вы сказали, просто получение идентификатора от родительских работ. Я обновлю свой код, чтобы отразить, как это сделать для вас.

3. Калеб, я почти уверен, что добавил все, как ты сказал, для добавленных изображений — похоже, сейчас это не работает. Я исправил .attr(‘id); — Я сделал это .attr(‘id’);

4. Калеб, дополнительная информация — если я щелкну правой кнопкой мыши по области, должен появиться фон — он говорит, что изображение названо «undefined.jpg »

5. Ах, «это» было в неправильной области. Я добавил переменную в соответствующую область для отслеживания нажатой ссылки, а не для таргетинга на ‘.work-header’. Это должно сработать. 🙂