锚标签和图像映射

发布于 2024-08-17 01:27:10 字数 220 浏览 5 评论 0原文

如何将锚标记与图像映射相关联?

假设我将鼠标悬停在锚标记上,它应该选择图像上的映射区域。

像这样的http://myffi.biz/。这是在 Flash 中,但是可以使用图像映射来完成吗?您将鼠标悬停在链接上,它应该选择图像上的映射区域。

这可能吗?我希望我清楚

how can i associate an anchor tag with image maps?

Suppose, I hover over an anchor tag, it should select the mapped region on the image.

Something like this http://myffi.biz/. This is in flash, but can this be done using image maps? You hover over on the links and it should select the mapped region on the image.

Is this possible? I hope i am clear

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北城半夏 2024-08-24 01:27:10

是的,无需 Flash 即可完成,但您根本不需要图像映射。只要有一个悬停事件 fadeIn 地图上正确的图像,使用 jQuery 就可以轻松实现。像这样的东西可能会起作用:

<ul class="region">
    <li><a href="#" id="europe">Europe</a></li>
    <li><a href="#" id="asia">Asia</a></li>
    <li><a href="#" id="africa">Africa</a></li>
    <li><a href="#" id="australia">Australia</a></li>
</ul>
<div id="region-map">
    <div id="region-overlay"></div>
</div>

在 CSS 中,您将 region-map 定义为具有未选择任何区域的背景,而 region-overlay 选择了不同的区域。

#region-map, #region-overlay {
    width: 640px;
    height: 320px;
}

#region-map {
    background: url(map-base.jpg) 0 0 no-repeat;
}

#region-overlay.europe {
    background: url(map-europe.jpg) 0 0 no-repeat;
}

#region-overlay.asia {
    background: url(map-asia.jpg) 0 0 no-repeat;
}

#region-overlay.africa {
    background: url(map-africa.jpg) 0 0 no-repeat;
}

#region-overlay.australia {
    background: url(map-australia.jpg) 0 0 no-repeat;
}

以及所需的 jQuery 代码:

$(function() {
    $('ul.region a').hover(function() {
        // Get the current region
        var region = $(this).attr('id');
        // Hide the current overlay, change it's map and change it back.
        $('#region-overlay').fadeOut(200, function() {
            $(this).attr('class', region).fadeIn(200);
        });
    }, function() {
        // Hide the overlay
        $('#region-overlay').fadeOut(200);
    });
});

这并不完美,但应该可以帮助您入门。

可以在以下位置找到一个工作示例:

http://www.ulmanen.fi/stuff/hovermap/

Yes, it can be done without Flash but you don't need imagemaps at all. Just have a hover event fadeIn the correct image on the map, that's easy to do with jQuery. Something like this might work:

<ul class="region">
    <li><a href="#" id="europe">Europe</a></li>
    <li><a href="#" id="asia">Asia</a></li>
    <li><a href="#" id="africa">Africa</a></li>
    <li><a href="#" id="australia">Australia</a></li>
</ul>
<div id="region-map">
    <div id="region-overlay"></div>
</div>

And in CSS, you define the region-map as having a background where no regions selected, and region-overlay has different regions selected.

#region-map, #region-overlay {
    width: 640px;
    height: 320px;
}

#region-map {
    background: url(map-base.jpg) 0 0 no-repeat;
}

#region-overlay.europe {
    background: url(map-europe.jpg) 0 0 no-repeat;
}

#region-overlay.asia {
    background: url(map-asia.jpg) 0 0 no-repeat;
}

#region-overlay.africa {
    background: url(map-africa.jpg) 0 0 no-repeat;
}

#region-overlay.australia {
    background: url(map-australia.jpg) 0 0 no-repeat;
}

And the jQuery code needed:

$(function() {
    $('ul.region a').hover(function() {
        // Get the current region
        var region = $(this).attr('id');
        // Hide the current overlay, change it's map and change it back.
        $('#region-overlay').fadeOut(200, function() {
            $(this).attr('class', region).fadeIn(200);
        });
    }, function() {
        // Hide the overlay
        $('#region-overlay').fadeOut(200);
    });
});

This isn't perfect but should get you started.

A working example can be found at:

http://www.ulmanen.fi/stuff/hovermap/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文