1

I have an image from a map and I have several other images from few regions (which are blue) on the image map. The other images represent the blue regions that should show on mouse over. But I have a problem. When I put the mouse over the regions on the image map, they start flashing. For example, I want to activate the blue region WITHOUT THE FLASHING onmouseover and onmousemove when I hover over the specific region. I'll put a .gif picture(the cursor is not showing) to show what I'm having problem with when i get the mouse cursor over the image and I'll post the code also to see if there's anything missing or has to be changed.

Picture:blue regions flashing onmouseover

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<%--<link href="css/jquery-ui-1.10.3.custom.css" rel="stylesheet" type="text/css" />
<link href="css/jquery-ui-1.10.3.custom.min.css" rel="stylesheet" type="text/css" />--%>
<script type="text/javascript"   src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<%--<script type="text/javascript" src="js/jquery-ui-1.10.3.custom.js"></script>
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>--%>


</head>
<body id="uiBody" class="regions" dir="ltr">
<form id="form2" runat="server">
    <asp:PlaceHolder ID="PlaceHolder1" runat="server">
    <div class="world_map_container">
        <img src="Sliki/maptransparent.gif" usemap="#the_world_map" id="transparent_map" />

        <map name="the_world_map" id="the_world_map">
            <area shape="poly" coords="167,335,168,321,166,318,161,313,156,308,148,308,146,304,143,302,137,301,136,293,133,283,130,277,127,273,127,270,129,266,133,261,133,253,132,248,128,242,124,240,121,240,118,243,114,248,108,254,100,258,94,261,92,261,91,268,87,274,83,279,81,281,81,286,81,291,81,295,75,298,69,304,67,308,66,316,69,318,79,319,86,319,88,321,91,324,94,326,100,325,102,322,103,317,100,315,95,314,88,312,85,308,87,303,90,300,94,297,98,294,104,293,109,293,113,295,119,303,124,311,127,318,130,327,131,335,132,338,135,336,140,332,144,331,148,331,151,333,155,336,162,336,167,335" href="Default2.aspx" id="area_resen" alt="Resen" />
            <area shape="poly" coords="171,45,167,47,161,47,162,50,167,50,167,53,164,55,157,64,161,68,169,88,172,89,175,102,175,105,179,105,180,109,187,116,187,118,202,121,202,124,212,124,216,121,216,116,245,116,253,113,255,110,254,104,253,103,259,103,265,104,269,105,272,103,272,95,274,90,277,87,282,86,285,84,287,78,288,76,280,75,274,74,270,72,265,67,263,63,257,63,254,60,251,57,250,56,247,57,241,56,237,55,234,52,229,49,227,44,227,38,231,35,233,33,231,31,226,29,225,28,225,21,220,20,216,22,213,24,212,26,210,28,207,28,205,26,202,26,200,28,199,31,196,33,192,39,188,43,189,45,189,47,185,50,179,52,175,52,172,50,171,47,171,45" href="Default2.aspx" id="area_skopje" alt="Skopje" />
            <area shape="poly" coords="397,47,388,47,383,56,384,61,384,66,382,70,379,71,375,71,375,76,373,82,372,88,372,94,377,96,389,109,408,109,409,98,405,92,409,89,406,80,412,80,421,77,424,74,423,68,429,66,425,63,415,53,398,53,397,47" href="Default2.aspx" id="area_kocani" alt="Kocani" />
        </map>
        <ul>
            <li id="resen" style=""><a href="#">resen</a></li>
            <li id="skopje"><a href="#">skopje</a></li>
            <li id="kocani"><a href="#">kocani</a></li>
        </ul>
    </div>
    <script type="text/javascript">
        $('.world_map_container area').each(function () {
            // Assigning an action to the mouseover event
            $(this).mouseover(function (e) {
                var country_id = $(this).attr('id').replace('area_', '');
                $('#' + country_id).css('display', 'block');
            });

            // Assigning an action to the mouseout event
            $(this).mouseout(function (e) {
                var country_id = $(this).attr('id').replace('area_', '');
                $('#' + country_id).css('display', 'none');
            });


        });
    </script>
    <style type="text/css">
        div.world_map_container #transparent_map {
        position: absolute;
        z-index: 20;
        width: 530px;
        height: 380px;
        border: none;


        }

        div.world_map_container {

        margin-right:15px;
        width:530px;
        height:380px;
        position:absolute;
        padding-right:0px !important;
        }


    div.world_map_container ul li {
        display: none;
        position: absolute;
        text-indent: -9999px;
        z-index: 30;        
        }

    #resen {
        background: url("Sliki/resen.gif") no-repeat scroll 0 0 transparent;
        height: 380px;
        right: 0;
        top: 0px;
        width: 530px;

    }

    #skopje {
        background: url("Sliki/skopje.gif") no-repeat scroll 0 0 transparent;
        height: 380px;
        right: 0;
        top: 0px;
        width: 530px;



    }

    #kocani {
        background: url("Sliki/kocani.gif") no-repeat scroll 0 0 transparent;
        height: 380px;
        right: 0;
        top: 0px;
        width: 530px;

    }

</style>  
    </asp:PlaceHolder>
</form>
</body>
</html>
4

1 回答 1

2

在悬停图像上,添加 usemap 以使用相同的地图。这样,它们在显示时就不会触发 mouseout 事件。

看到这个小提琴:http: //jsfiddle.net/NPFWm/4/

<img src="https://www.google.com/images/srpr/logo4w.png" usemap="#theMap_map" />
<map id="theMap_map" name="theMap_map">
    <area shape="poly" coords="1,1,1,50,50,50,50,1,1,1" id="area1" style="background: #FF0000;" href="#" />
</map>

<img src="https://www.google.com/images/srpr/logo4w.png" id="hover" usemap="#theMap_map" />
于 2013-06-06T23:05:46.563 回答