Я пытаюсь создать эффект, при котором наведите курсор на какой-либо текст, чтобы изображение в другой части страницы изменилось на другое изображение, пока мышь не удалится от текста. Кто-нибудь знает простой способ сделать это? Я бы предпочел использовать только CSS, но будет использовать js, если это необходимо.mouseover banner контролируется текстом
ответ
Возможно получить взаимодействие между различными элементами, используя только CSS, но это непросто. Насколько я вижу, это создает некоторые ограничения для вашей структуры документа (возможно, кто-то, у кого больше знаний о CSS-селекторах, чем я, может видеть, как это происходит). Пожалуйста, рассматривайте это как доказательство концепции, а не полное решение. Обратите внимание, что для этого требуется поддержка уровня CSS 2.
<html>
<head>
<style>
img { float: right }
p.magicParagraph + img { display: none }
p.magicParagraph:hover + img { display: block }
p.magicParagraph + img + img { display: block }
p.magicParagraph:hover + img + img { display: none }
</style>
</head>
<body>
<p class="magicParagraph">Hover over me to change the image!</p>
<img src="image1.png" />
<img src="image2.png" />
</body>
</html>
Получение такого типа взаимодействия между мышью и различными элементами не должно сопровождаться только CSS. Вам нужно будет использовать Javascript. В следующем примере используется jQuery Framework (просто аддон для сырой JavaScript), чтобы изменить источник изображения при наведении курсора мыши на пункт:
$("p.magicParagraph").hover(
function() { $("img.magicImage").attr("src", "image2.jpg"); },
function() { $("img.magicImage").attr("src", "image1.jpg"); }
);
Этот код связывает множество событий к зависанию любого пункта, имеющему Classname "magicParagraph". Первая функция - это то, что будет сделано, когда вы перейдете по абзацу, а вторая - это то, что будет сделано, когда вы перейдете от абзаца. Это будет функционировать со следующей разметкой:
<p class="magicParagraph">Hover over me to change the image!</p>
<p><img src="image1.jpg" class="magicImage" /></p>
Думаю, я пойду с этим! Спасибо. Я также попробую один ниже, так что спасибо парню, который ответил только с помощью CSS-версии! –
@Alex C: Добро пожаловать на сайт. Я согласен, что вы, вероятно, должны пойти со стандартным Javascript-решением, а не только с CSS, но вы просили только CSS, так что я дал вам. : -P Не забудьте принять ответ после тестирования - используйте зеленый галочку. Достаточно подождать 24 часа, прежде чем делать это, если вы хотите увидеть ответы от большего числа людей. –
- 1. JQuery mouseover с текстом и изображением
- 2. jQuery mouseover с затуханием и текстом
- 3. Rendring banner image с текстом для разного разрешения мобильного экрана
- 4. ads: loadAdOnCreate значение контролируется bools.res/values / bools.xml
- 5. Postfix EHLO Banner
- 6. Javascript Scrolling Banner Error
- 7. Отмена CompletableFuture контролируется ExecutorService
- 8. макрос контролируется DEBUG
- 9. VB Секундомер контролируется мышью
- 10. Почему Видимый контролируется
- 11. представление Формы контролируется функцией
- 12. IKImageView масштабирование контролируется NSSlider
- 13. d3js взаимодействуют с текстом внутри узла с помощью MouseOver
- 14. Twitter Bootstrap Banner - Как сделать
- 15. Почему конечная переменная не контролируется?
- 16. Прыжки Высота персонажа не контролируется
- 17. Анимация контролируется движением телефона android
- 18. контролируется асинхронной выход из phantomjs
- 19. контролируется экономия jqgrid редактирования ячейки
- 20. XCode Project не контролируется версией
- 21. PHP контролируется с помощью SMS
- 22. CakePHP 2 ACL контролируется плагин
- 23. Исходный код не контролируется SVN
- 24. переменная сеанса php контролируется ссылкой:
- 25. Mouseover на текст HTML
- 26. JS Mouseover, парить
- 27. Ad Banner внутри TableView
- 28. Admob Native Banner
- 29. php banner rotater problem
- 30. ASP MVC banner rotator
Добро пожаловать в StackOverflow - позвольте мне быть первым, кто вознаградит вас 12 очками за продуманный вопрос! – Sampson