利用<input type=image>来巧妙实现map功能
上一篇 /
下一篇 2006-11-02 23:02:35
大家都熟悉HTML标记里的MAP标记吧~,他可以将一个图片进行多个热链接定位。
现在需要在下一个页面进行操作,也就是说一个图片在不传递参数的情况下,要让下一个页面要有不同的反映动作,怎么做呢?
例如:通过点击图片左上我要进入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提交变量的简单应用,如果你有巧妙的创意~
肯定可以做出一个图形作为引导的站点~
导入论坛
引用链接
收藏
分享给好友
管理
举报
TAG: