利用来巧妙实现map功能
时间:2007-02-17 来源:PHP爱好者
大家都熟悉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=http://www.ddvip.net/web/php/index8/"bg.jpg">
<input type=image src=http://www.ddvip.net/web/php/index8/"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提交变量的简单应用,如果你有巧妙的创意~
肯定可以做出一个图形作为引导的站点~
非常全面的一个php技术网站,php 爱好者站 http://www.phpfans.net 有相当丰富的文章和源代码.