2009/10/18(Sun) 23:34:57 編集(投稿者)
■No42566 (今年はVB.NET さん) に返信
はっはっは。
実はできるみたい。
掲示板の質問だけで早合点するのは良くないな。
<script>
window.onload = function() {
alert("location:" + location);
}
var $ = function(id) { return document.getElementById(id) };
function moveIt() {
var x = event.x;
var y = event.y;
with($("upload")) { style.left = x - 40; style.top = y - 12; }
}
function delayBlur() {
setTimeout(function() {
$("upload").blur();
}, 100);
}
function centerIt() {
// $("upload").style.left = parseInt(($("button").offsetWidth + $("upload").offsetWidth) / 2);
// $("upload").style.top = parseInt(($("button").offsetHeight + $("upload").offsetHeight) / 2);
}
</script>
<style>
.fileupload {
display:block;
filter:alpha(opacity=30);
width:10px;
position:absolute;
z-index:1000;
left:0;
top:0;
}
</style>
</HEAD>
<BODY>
<div style="position:relative;">
<div id="button" style="background-color:orange;font-size:40px;width:200px; height:200px;" onmousemove="moveIt()" onmouseout="centerIt()">
<table width=100% height=100%>
<tr valign=middle>
<td align=center>
Select !!
</td>
</tr>
</table>
</div>
<form method="get" >
<input type=file class="fileupload" onclick="delayBlur()"
onchange="this.form.submit()" name="upload" id="upload" />
</form>
<iframe src="" name="target_frame" id="target_frame" onload="$('upload').blur();$('upload').style.left=0;$('upload').style.top=0"></iframe>
</div>
</BODY>
誤り:<linethrough>これで、visibility:0 にすると、いけるんだな。</linethrough>
訂正後:opacity=0 です。
でも、これだけじゃ、ちょっと物足りないんだな。