TaoGOGO的技术博客,关注LAMP,Web编程,前端开发和网络赚钱。

利用《input type=“image”》来巧妙实现map功能

七月 5th, 2009 | 评论:(0)

 

大家都熟悉HTML标记里的MAP标记吧~,他可以将一个图片进行多个热链接定位,也就是说一个图片可以链接到N个文件~

我现在所说的是,这一个图片他所链接只有一个文件~

呵呵,别抛砖头~,你恐怕说直接用一个<a>标记不就可以链接了吗?
等等,
你稍微等一下嘛~,让我继续说下去~

我需要在下一个页面进行操作,也就是说一个图片在不传递参数的情况下,要让下一个页面要有不同的反映动作,怎么说呢?
比如说

A、通过点击图片左上我要进如pagea.php 右上我要进pageb.php
如此,你也许要说用MAP直接链接就行了,但我要在这个页面对上一页面进行统计,
怎么办呢?`

别急~

HTML标记
<input TYPE="image" NAME="thisname" SRC="path/image">

PHP对此标记支持的自动生成两个变量
$_POST[thisname_x] --鼠标点击图片的X位置
$_POST[thisname_y] --鼠标点击图片的Y位置

呵呵,看到这里晓得了如何操作了吧~,下面我给个简单的示例(直接拷贝过去就可以了,如果改的话把图片改为你的正确的图片路径就可以了~)~


演示:
======

index.html
----------
<html>
<head>
<title>测试信息</title>
</head>
<body>
<form action="post.php" method="post" name="form1">
<input type="hidden" name="image" value="bg.jpg">
<input type=image src="bg.jpg" name="sub">
</form>
</body>
</html>




post.php
<html>
<head>
<title>操作...</title>
</head>
<body>
<pre>
<?php
$c=getimagesize("$_POST[image]");     //获得图片尺寸

if($_POST[sub_x]<$c[0]/2){         //鼠标点击图片X位置为图片左半部

     if($_POST[sub_y]<$c[1]/2){     //鼠标点击图片的Y位置为上半部
         echo "你点击了图片的左上半部分 x={$_POST[sub_x]} y={$_POST[sub_y]}";
     }else{
         echo "你点击了图片的左下半部分 x={$_POST[sub_x]} y={$_POST[sub_y]}";
     }
}else{
     if($_POST[sub_y]<$c[1]/2){     //鼠标点击图片的Y位置为下半部
         echo "你点击了图片的右上半部分 x={$_POST[sub_x]} y={$_POST[sub_y]}";
     }else{
         echo "你点击了图片的右下半部分 x={$_POST[sub_x]} y={$_POST[sub_y]}";
     }
}
?>
</pre>
<!--
图片走向
        
           0 |
           --+----------------------------------------------------→x++(图片的宽度)
              |
              |
              |
             |
             |
             |
             |
             |
            ↓(Y++图片的高度)
-->
</body>
</html>

以上是个人对这个image提交变量的简单应用,如果你有巧妙的创意~

肯定可以做出一个图形作为引导的站点~  

类别: web编程 | 关键字: php map | 阅读:(592)

想收藏或者和大家分享这篇好文章→

发表评论

姓名:

邮箱:

网址:

请输入计算结果:3+10

Tao公告

好消息!co.cc免费域名国内可以注册使用啦@2010.05.10
推荐免费英语学习+聊天室软件@2010.07.21

搜索

加工中~马上就好 加载中…