Первоначальная публикация здесь так нежная. Я пытаюсь создать меню для веб-сайта с помощью javascript. Я хочу щелкнуть элемент в моем меню и обменять изображения. Эта часть проста и работает нормально. Там, где я падаю, я хочу, чтобы предыдущие элементы в моем меню возвращались к исходному исходному изображению. Это было бы просто, если бы все они использовали одни и те же изображения, но все они имеют свои уникальные образы. Надеюсь, я объясняю себя хорошо.Обмен изображениями в меню с использованием JavaScript
ответ
Вы можете использовать функцию $.data
для хранения информации в элементе для последующего извлечения.
Перед тем как изменить изображение src
, вы сохраните текущий src
, чтобы затем использовать его для восстановления src
, если вы хотите его изменить.
Пример:
// When a menu item's link is clicked
$('.menu-item a').on('click', function(e) {
// Prevent the link firing
e.preventDefault();
// Grab the menu item
var self = $(this).parent();
// find our image
var img = self.find('img');
// make sure we're not double changing
if (!img.hasClass('changed')) {
// Store our existing src in a the jQuery data
img.data('original-src', img.attr('src'));
// Set a new src
img.attr('src', 'http://lorempixel.com/g/20/20/');
// Add a class so we know what's changed
img.addClass('changed');
}
// Search for existing changed images
self.siblings().find('img.changed').each(function() {
var img = $(this);
// Remove the changed tag
img.removeClass('changed');
// Restore the src
img.attr('src', img.data('original-src'));
});
});
#my-menu {
list-style: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ol id="my-menu">
<li class="menu-item">
<a href="#">
<img src="http://placehold.it/20x20" role="presentation" />
One
</a>
</li>
<li class="menu-item">
<a href="#">
<img src="http://placehold.it/20x20" role="presentation" />
Two
</a>
</li>
<li class="menu-item">
<a href="#">
<img src="http://placehold.it/20x20" role="presentation" />
Three
</a>
</li>
</ol>
С ограниченным объяснением того, чего хочет OP, я бы сказал, что это хороший ответ +1 – Phil
Да, извините за ужасную формулировку. Это отличный ответ. еще раз спасибо! –
- 1. Обмен изображениями в Javascript?
- 2. Обмен изображениями с помощью javascript
- 3. Обмен изображениями с помощью одной кнопки Функция JavaScript с использованием%
- 4. Javascript памяти игра - обмен изображениями
- 5. Обмен 2 изображениями - javascript/jquery
- 6. Обмен изображениями в Javascript, как сбросить src?
- 7. Обмен изображениями в iOS
- 8. Обмен изображениями в IBOutletCollection
- 9. Обмен изображениями в PHP
- 10. Обмен изображениями гиперссылок
- 11. Обмен несколькими изображениями из массива javascript
- 12. обмен изображениями разных размеров [Javascript vs IE]
- 13. Обмен изображениями с помощью parse.com
- 14. Обмен изображениями с вкладками jQuery
- 15. Обмен изображениями с функциями щелчка
- 16. Android WhatsApp обмен изображениями
- 17. Обмен изображениями WhatsApp iOS
- 18. Обмен изображениями с использованием инфраструктуры XMPP в iOS
- 19. Обмен изображениями на Facebook
- 20. Обмен изображениями в другом приложении
- 21. Обмен изображениями UIImageView в цикле
- 22. Обмен изображениями в социальных сетях
- 23. Динамический обмен изображениями с операциями выбора
- 24. Обмен изображениями в социальных сетях
- 25. Обмен несколькими изображениями на mousemove
- 26. Обмен изображениями на instagram с использованием любого sdk или PHPhotolibrary?
- 27. Как сделать простой обмен изображениями с JS?
- 28. Обмен двумя изображениями не работает корректно с использованием относительной компоновки
- 29. Меню какао с изображениями
- 30. Загрузка папки с изображениями с использованием Javascript
Можете ли вы предоставить нам какой-то код? –
Пожалуйста, отредактируйте свой вопрос и добавьте минимальный JS/jQ, CSS, HTML, чтобы воспроизвести * view *. Чтобы добавить код, щелкните значок «Снимок» в редакторе. –
Добро пожаловать в StackOverflow! Пожалуйста, прочитайте нашу страницу [ask], чтобы помочь вам сформулировать большой вопрос. Вы, скорее всего, получите хороший ответ от сообщества, если приложите некоторые усилия в свой вопрос. – ochi