Member 11795696 Ответов: 2

asp.net ImageMap-изменение изображения при наведении курсора мыши


Я пытаюсь создать карту изображений, которая меняется по мере того, как пользователи наводят курсор мыши на определенные части изображения. У меня есть следующая карта изображений, где пользователи могут нажать на цвет и перейти на другую страницу:

http://i.stack.imgur.com/hXJSC.png[^]

Я создал 4 дополнительных изображения, которые все имеют одинаковый размер, и хотел бы поменять изображение при наведении курсора мыши. Например, когда я наведу курсор мыши на синий цвет, я хочу, чтобы изображение выглядело так:

http://i.stack.imgur.com/gwb3q.png[^]

И когда я наведу курсор мыши на зеленую часть, я хочу, чтобы она выглядела так:

http://i.stack.imgur.com/EptjR.png[^]

Каков наилучший способ выполнить то, что я пытаюсь сделать? Я планировал использовать asp.net для реализации, но не смогли этого сделать.

Вот код для ImageMap / hotspot:

<asp:ImageMap ID="ImageMap1" runat="server" Height="300px" HotSpotMode="Navigate" ImageAlign="Middle" ImageUrl="~/images/hotspot-logo.png" Width="303px">
                            <asp:PolygonHotSpot AlternateText="orange" Coordinates="151,8,220,78,150,150,78,78" HotSpotMode="Navigate" NavigateUrl="~/orange.aspx" />
                            <asp:PolygonHotSpot AlternateText="red" Coordinates="220,78,150,150,222,222,292,150" HotSpotMode="Navigate" NavigateUrl="~/red.aspx" />
                            <asp:PolygonHotSpot AlternateText="green" Coordinates="78,78,150,150,78,222,8,150" HotSpotMode="Navigate" NavigateUrl="~/green.aspx" />
                            <asp:PolygonHotSpot AlternateText="blue" Coordinates="150,150,78,222,150,292,222,222" HotSpotMode="Navigate" NavigateUrl="~/blue.aspx" />
                        </asp:ImageMap>

Member 11795696

Этого не должно быть asp.net если это невозможно. У кого-нибудь есть еще одно предложение, которое я мог бы использовать? Все, что мне нужно, - это чтобы изображение менялось по мере того, как пользователь наводит курсор мыши на каждую точку доступа.

2 Ответов

Рейтинг:
0

Sergey Alexandrovich Kryukov

Функциональность, которую вы хотите, не имеет ничего общего с ImageMap.

Вы можете использовать карту изображений, но только для теста попадания, который на самом деле является единственной целью карты изображений. К сожалению, ваше событие - это не щелчок, а наведение курсора мыши. Кроме того, очень плохо запускать его на сервере, потому что это вызовет обратную передачу, слишком медленную для щелчка, который должен немедленно изменить изображение. Вам действительно нужно сделать все это на стороне клиента, используя JavaScript.

Простое решение: с помощью JavaScript: обработайте событие mousemove. В зависимости от координат мыши замените текущее изображение другим изображением, изменив значение src атрибут. Вам понадобится отдельное изображение для каждой комбинации, которую вы хотите использовать.
Пожалуйста, смотрите: http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-mouseevents[^].

Это можно сделать легко, если вы используете jQuery. Вы можете использовать .attr("src") обертки изображения jQuery и заменить ее значение с помощью .replace() Вы можете найти простой пример здесь: http://stackoverflow.com/questions/11130008/dynamically-replace-image-source-with-jquery[^].

И вот как вы справляетесь с этим событием с помощью jQuery: https://api.jquery.com/mousemove[^].

Если вам нужно изучить jQuery (настоятельно рекомендуется), пожалуйста, смотрите:
http://en.wikipedia.org/wiki/JQuery,
http://jquery.com,
http://learn.jquery.com,
http://learn.jquery.com/using-jquery-core,
http://learn.jquery.com/about-jquery/how-jquery-works (начните отсюда).

—СА


Рейтинг:
0

Shibiny

пожалуйста, попробуйте java script или css.........................