如何在一张图片上添加多个链接 ,如何利用js做出靠右侧浮动菜单栏的效果

公司要做产品推广页,想在一个图片上加上两个链接,让消费者点击后跳转到不同页面。于是利用firebug查看了一下京东的做法,照葫芦画瓢,做法如下。

<div class="abc">
        <img class="" width="990" height="625" border="0" usemap="#Map2" alt="" src="a.jpg">
        <map name="Map2">
            <area target="_blank" href="www.baidu.com" coords="38,6,388,614" shape="rect">
            <area target="_blank" href="www.google.com" coords="580,9,939,612" shape="rect">
        </map>
</div>

很简单,只是利用了HTML 的<map> 标签就可以轻松做到。在img标签中使用 usemap这个属性

其中shape="rect"表示按照矩形来划分。coords属性中的前两个数字表示的是矩形的左上角的坐标。后两个数字表示的右下角的坐标。上一张图就很清晰了:

 

看了下文档,将文档内容粘贴了过来。

ismap 和 usemap 属性告诉浏览器这个图像是一个特殊的可视映射,可以通过鼠标来对一个或多个超链接进行选择,也就是通常所说的图像映射(image map)。

图像映射的 ismap 样式被称为 “服务器端”图像映射,它只可以用在 <a> 标签标识的超链接里面。

<a href="/example/map">
  <img src="/i/map.gif" ismap="ismap" />
</a>

地图就是很好地应用 ismap 和 usemap 属性的一个示例,例如,在浏览一家全国范围的大公司网页时,用户可能会在地图上单击他们所居住的城市,以获得附近地区零售店的地址和电话号码等。
usemap 客户端处理图像映射的好处是,它不要求有服务器或特殊的服务器软件,与 ismap 机制不同,它可以用在非 web (无网络)环境中,例如在本地的文件或者 CD-ROM 中使用。

 

续:活动页要做一个靠右的滚动菜单,随着鼠标的滚动而向下滑动,点击上面的菜单能直接跳到网页中相应的位置。

在网络上找了一个实现了的代码,js部分没怎么看懂,以后有时间再写注释吧,现在暂时记录下来。

html代码如下

<script type="text/javascript" src="js/activity.js"></script>
<script type="text/javascript">    
    window.onload=function (){
        scroll();
}
</script>

<tr><td><img id="02"  src="images/activity/002.jpg" usemap="#Map1" border="0"></td></tr>

<div id="QQFloat" style="position:absolute; width:200px; height:59px; z-index:20; right: 0px; top: 300px"> <img src="images/activity/sroll.png" usemap="Map00" style="float:right; "/>  <!--这里的float:right保证图片靠在浏览器的右边上--> <map id="Map" name="Map00"> <area href="#07" coords="10,230,123,213,122,242,10,261" shape="poly"> <area href="#06" coords="10,194,123,177,122,206,10,225" shape="poly"> <area href="#05" coords="9,159,122,142,121,171,9,190" shape="poly"> <area href="#04" coords="10,123,123,106,122,135,10,154" shape="poly"> <area href="#03" coords="8,88,121,71,120,100,8,119" shape="poly"> <area href="#02" coords="7,52,120,35,119,64,7,83" shape="poly"> <area href="#01" coords="9,16,122,-1,121,28,9,47" shape="poly"> </map> </div>

这里有一个知识点,就是点击之后,如何跳转的问题。只要在链接上写上#02,然后给相应的模块里写上 id="02"即可

activity.js里面的代码如下 

/*活动页面用到的js文件 */
/*右侧浮动菜单栏的js,用于控制菜单图片始终于浏览器的头部保持一个固定的距离*/
    
function scroll(){
    moveTips();
}

function moveTips() {
    var tips = document.getElementById("QQFloat");
    var theTop = 190            /*这是默认高度,即图片最初距离浏览器的高度  越大越往下*/; 
    var old = theTop;
    
    var tt=10;
    if (window.innerHeight) {
        pos = window.pageYOffset
    }
    else if (document.documentElement && document.documentElement.scrollTop) {
        pos = document.documentElement.scrollTop
    }
    else if (document.body) {
        pos = document.body.scrollTop;
    }

        pos=pos-tips.offsetTop+theTop;
        pos=tips.offsetTop+pos/10;
     
        if (pos < theTop) pos = theTop;
        if (pos != old) {
            tips.style.top = pos+"px";
            tt=10;
            //alert(tips.style.top);
        }
            old = pos;
            setTimeout(moveTips,tt);
}

 用到的图片为

 

 

posted @ 2013-05-27 21:33  红场小烟  阅读(1149)  评论(0编辑  收藏  举报