下面这样作 不行 显示不出来 .HTC
该怎么做
<script language =javascript>
function Init()
{
var strHTML="";
strHTML+='<div id="mydiv" style="visibility:hidden;position:absolute;">'
strHTML+=' <div id="tipsContent" style="width:293px;height:40px; top:25;background-color:seashell; position:relative;">'
strHTML+=' <table id="tableMain" border="0" style="font-size:9pt;border:1px outset;background-color:threedface; cursor:default;">'
strHTML+=' <tr height="17"> <!--第二个表行-->'
strHTML+=' <td>'
strHTML+=' <font size="2"> 小时</font> <input type="checkbox" id="hourCheck" size="4" onclick="userHour()" NAME="hourCheck">'
strHTML+=' <select id="selectHour" NAME="selectHour">'
strHTML+=' </select>'
strHTML+=' <font size="2">分</font> <input type="checkbox" id="minuteCheck" size="4" onclick="userMinute()" NAME="minuteCheck">'
strHTML+=' <select ID="SelectMinute" NAME="SelectMinute">'
strHTML+=' </select>'
strHTML+=' </td>'
strHTML+=' <td>'
strHTML+=' <font size="2">秒</font> <input type="checkbox" id="secondCheck" size="4" onclick="userSecond()" NAME="secondCheck">'
strHTML+=' <select ID="selectSecond" NAME="selectSecond">'
strHTML+=' </select>'
strHTML+=' </td>'
strHTML+=' </tr>'
strHTML+=' <tr eeight="17">'
strHTML+=' <td>'
strHTML+=' <input type="button" id="now" value="现在" onclick = "nowTime()">'
strHTML+=' </td>'
strHTML+=' <td>'
strHTML+=' <input type="button" id="onOk" value="确定" local="right" onclick = "onOK()">'
strHTML+=' </td>'
strHTML+=' </tr>'
strHTML+=' </table>'
strHTML+=' </div>'
strHTML+='</div>'
document.body.innerHTML = strHTML;
alert(strHTML);
//var oT = document.createElement(strHTML) ;
// document.body.appendChild(oT);}function addHourNum()
{
for(i=0 ; i<24; i++)
{
b=document.getElementById("selectHour");
var opt=new Option( i,i,true,true);
b.options[b.options.length] = opt;
}
}
function addMinuteNum()
{
for(i=0 ; i<60; i++)
{
b=document.getElementById("SelectMinute");
var opt=new Option( i,i,true,true);
b.options[b.options.length] = opt;
}
}
function addSecondNum()
{
for(i=0 ; i<60; i++)
{
b=document.getElementById("selectSecond");
var opt=new Option( i,i,true,true);
b.options[b.options.length] = opt;
}
}
function show(obj)
{
addHourNum();
addSecondNum();
addMinuteNum();
obj.insertAdjacentElement("beforeBegin",mydiv);
mydiv.style.visibility='visible';
alert(mydiv.style.visibility);
}
function getTime()
{
var num = 0;
num = document.getElementById("hourCheck").checked + document.getElementById("minuteCheck").checked +
document.getElementById("secondCheck").checked;
if(num == 3)
{
return document.getElementById("selectHour").value + ":" + document.getElementById("selectMinute").value + ":"
+ document.getElementById("selectSecond").value;
}
if(num == 2)
{
return document.getElementById("selectHour").value + ":" + document.getElementById("selectMinute").value + "min"
}
if(num == 1)
{
return document.getElementById("selectHour").value + "hr"
}
else return "";
}
function onOK()
{
getTime();
document.getElementById("time").value = getTime() ;
mydiv.style.visibility='hidden';
}function nowTime()
{
var now;
d = new Date();
now = d.getHours() + ":";
now += d.getMinutes() + ":";
now += d.getSeconds();
document.getElementById("time").value = now;
mydiv.style.visibility='hidden';
}function userHour()
{
if( (event.srcElement.id == "hourCheck") && !(hourCheck.checked) )
{
minuteCheck.checked = false;
secondCheck.checked = false;
}
}// event小时,分,秒 选择联动 ,if user the second, as a matter of fact the hour and minute all so used! all so the rule use to Cancel
function userMinute()
{
if(event.srcElement.id == "minuteCheck")
{
if( !(hourCheck.checked) && (minuteCheck.checked) )
{
hourCheck.checked = true;
}
if( !(minuteCheck.checked) && (secondCheck.checked) )
{
secondCheck.checked = false;
}
}
}
// event,小时,分,秒 选择联动 ,if user the second, as a matter of fact the hour and minute all so used! all so the rule use to Cancel
function userSecond()
{
if(event.srcElement.id == "secondCheck")
{
if(!(minuteCheck.checked) && (secondCheck.checked))
{
hourCheck.checked = true;
minuteCheck.checked = true;
}
}
}
//event, if you selcet the hour select control ,the event runingvar hourNumber = 0;
function selectHour()
{
while(hourNumber <= 24 )
{
var opt = new Option(hourNumber,"value"+hourNumber,true,true);
var selectHour = document.getElementById("selectHour");
selectHour.options[selectHour.options.length] = opt;
hourNumber++;
}
}var MinuteNumber = 0;
function selectMinute()
{
while(MinuteNumber <= 60 )
{
var opt = new Option(MinuteNumber,"value"+MinuteNumber,true,true);
var selectSecond = document.getElementById("selectMinute");
selectMinute.options[SelectMinute.options.length] = opt;
MinuteNumber++;
}
}var SecondNumber = 0;
function selectSecond()
{
while(SecondNumber <= 60 )
{
var opt = new Option(SecondNumber,"value"+SecondNumber,true,true);
var selectSecond = document.getElementById("selectSecond");
selectSecond.options[selectSecond.options.length] = opt;
SecondNumber++;
}
}
</script>
该怎么做
<script language =javascript>
function Init()
{
var strHTML="";
strHTML+='<div id="mydiv" style="visibility:hidden;position:absolute;">'
strHTML+=' <div id="tipsContent" style="width:293px;height:40px; top:25;background-color:seashell; position:relative;">'
strHTML+=' <table id="tableMain" border="0" style="font-size:9pt;border:1px outset;background-color:threedface; cursor:default;">'
strHTML+=' <tr height="17"> <!--第二个表行-->'
strHTML+=' <td>'
strHTML+=' <font size="2"> 小时</font> <input type="checkbox" id="hourCheck" size="4" onclick="userHour()" NAME="hourCheck">'
strHTML+=' <select id="selectHour" NAME="selectHour">'
strHTML+=' </select>'
strHTML+=' <font size="2">分</font> <input type="checkbox" id="minuteCheck" size="4" onclick="userMinute()" NAME="minuteCheck">'
strHTML+=' <select ID="SelectMinute" NAME="SelectMinute">'
strHTML+=' </select>'
strHTML+=' </td>'
strHTML+=' <td>'
strHTML+=' <font size="2">秒</font> <input type="checkbox" id="secondCheck" size="4" onclick="userSecond()" NAME="secondCheck">'
strHTML+=' <select ID="selectSecond" NAME="selectSecond">'
strHTML+=' </select>'
strHTML+=' </td>'
strHTML+=' </tr>'
strHTML+=' <tr eeight="17">'
strHTML+=' <td>'
strHTML+=' <input type="button" id="now" value="现在" onclick = "nowTime()">'
strHTML+=' </td>'
strHTML+=' <td>'
strHTML+=' <input type="button" id="onOk" value="确定" local="right" onclick = "onOK()">'
strHTML+=' </td>'
strHTML+=' </tr>'
strHTML+=' </table>'
strHTML+=' </div>'
strHTML+='</div>'
document.body.innerHTML = strHTML;
alert(strHTML);
//var oT = document.createElement(strHTML) ;
// document.body.appendChild(oT);}function addHourNum()
{
for(i=0 ; i<24; i++)
{
b=document.getElementById("selectHour");
var opt=new Option( i,i,true,true);
b.options[b.options.length] = opt;
}
}
function addMinuteNum()
{
for(i=0 ; i<60; i++)
{
b=document.getElementById("SelectMinute");
var opt=new Option( i,i,true,true);
b.options[b.options.length] = opt;
}
}
function addSecondNum()
{
for(i=0 ; i<60; i++)
{
b=document.getElementById("selectSecond");
var opt=new Option( i,i,true,true);
b.options[b.options.length] = opt;
}
}
function show(obj)
{
addHourNum();
addSecondNum();
addMinuteNum();
obj.insertAdjacentElement("beforeBegin",mydiv);
mydiv.style.visibility='visible';
alert(mydiv.style.visibility);
}
function getTime()
{
var num = 0;
num = document.getElementById("hourCheck").checked + document.getElementById("minuteCheck").checked +
document.getElementById("secondCheck").checked;
if(num == 3)
{
return document.getElementById("selectHour").value + ":" + document.getElementById("selectMinute").value + ":"
+ document.getElementById("selectSecond").value;
}
if(num == 2)
{
return document.getElementById("selectHour").value + ":" + document.getElementById("selectMinute").value + "min"
}
if(num == 1)
{
return document.getElementById("selectHour").value + "hr"
}
else return "";
}
function onOK()
{
getTime();
document.getElementById("time").value = getTime() ;
mydiv.style.visibility='hidden';
}function nowTime()
{
var now;
d = new Date();
now = d.getHours() + ":";
now += d.getMinutes() + ":";
now += d.getSeconds();
document.getElementById("time").value = now;
mydiv.style.visibility='hidden';
}function userHour()
{
if( (event.srcElement.id == "hourCheck") && !(hourCheck.checked) )
{
minuteCheck.checked = false;
secondCheck.checked = false;
}
}// event小时,分,秒 选择联动 ,if user the second, as a matter of fact the hour and minute all so used! all so the rule use to Cancel
function userMinute()
{
if(event.srcElement.id == "minuteCheck")
{
if( !(hourCheck.checked) && (minuteCheck.checked) )
{
hourCheck.checked = true;
}
if( !(minuteCheck.checked) && (secondCheck.checked) )
{
secondCheck.checked = false;
}
}
}
// event,小时,分,秒 选择联动 ,if user the second, as a matter of fact the hour and minute all so used! all so the rule use to Cancel
function userSecond()
{
if(event.srcElement.id == "secondCheck")
{
if(!(minuteCheck.checked) && (secondCheck.checked))
{
hourCheck.checked = true;
minuteCheck.checked = true;
}
}
}
//event, if you selcet the hour select control ,the event runingvar hourNumber = 0;
function selectHour()
{
while(hourNumber <= 24 )
{
var opt = new Option(hourNumber,"value"+hourNumber,true,true);
var selectHour = document.getElementById("selectHour");
selectHour.options[selectHour.options.length] = opt;
hourNumber++;
}
}var MinuteNumber = 0;
function selectMinute()
{
while(MinuteNumber <= 60 )
{
var opt = new Option(MinuteNumber,"value"+MinuteNumber,true,true);
var selectSecond = document.getElementById("selectMinute");
selectMinute.options[SelectMinute.options.length] = opt;
MinuteNumber++;
}
}var SecondNumber = 0;
function selectSecond()
{
while(SecondNumber <= 60 )
{
var opt = new Option(SecondNumber,"value"+SecondNumber,true,true);
var selectSecond = document.getElementById("selectSecond");
selectSecond.options[selectSecond.options.length] = opt;
SecondNumber++;
}
}
</script>
<METHOD NAME="addHourNum" INTERNALNAME="addHourNum"/>
<script>
.....js代码
</script>然后导入到你的页面中
<?IMPORT namespace="xx" implementation="XX.htc">
你不是恍我吗?
原理很简单,就是代码太长,贴不上来
老大,求了
[email protected]
剩下的部分你自己补齐吧HTML文件是这个,测试用的
<?xml version="1.0" encoding="gb2312" standalone="yes"?>
<html xmlns:v="http://www.eglic.com/">
<head>
<title></title>
<meta name="Generator" content="EditPlus" />
<meta name="Author" content="eglic" />
<meta name="ContentType" content="text/html" />
<meta name="CharSet" content="GB2312" />
<link rel="stylesheet" type="text/css" href="/style/default.css" />
<style type="text/css">
@media all{
.eGlic {behavior:url('eglic.htc');}
}
</style>
<script language="javascript" src="/script/default.js"></script>
<script language="javascript">
</script>
</head>
<body>
<input type="text" class="eGlic" /><br />
<input type="text" class="eGlic" /><br />
<input type="text" class="eGlic" /><br />
<input type="text" class="eGlic" /><br />
</body>
</html>
1、在Show()函数里面,读取文本框的值
2、sHTML里面,几个复选框的事件处理
3、SetValue函数里面,根据SELECT的值组合出文本筐的字符串<PUBLIC:COMPONENT ERROR="TRUE" DEBUG="TRUE">
<PUBLIC:ATTACH EVENT="oncontentready" ONEVENT="Initilize()" />
<PUBLIC:ATTACH EVENT="onfocus" ONEVENT="Show()" />
<PUBLIC:METHOD NAME="Hide" />
<PUBLIC:METHOD NAME="SetValue" />
<SCRIPT LANGUAGE="JSCRIPT">
<!--
/*
因为同时只有一个选单出现,所以将选单作为全局对象存放
以节省资源
*/
window.__TimeSelectObject=null;
var doc=element.document;
function Initilize(){
if(window.__TimeSelectObject) return; //如果选单已经设计好,可以跳过
window.__TimeSelectObject=doc.createElement('<DIV style="padding:10px;position:absolute;z-index:99;display:none;background-color:buttonface;border-left:solid 2px silver;border-top:solid 2ps silver;border-right:solid 2px gray;border-bottom:solid 2px gray;">');
var sHtml='时:<input type="checkbox" /><select>';
for(var i=0;i<24;i++) sHtml+='<option value="'+i.toString()+'">'+i.toString()+'</option>';
sHtml+='</select><br />'
sHtml+='分:<input type="checkbox" /><select>';
for(var i=0;i<60;i++) sHtml+='<option value="'+i.toString()+'">'+i.toString()+'</option>';
sHtml+='</select><br />'
sHtml+='秒:<input type="checkbox" /><select>';
for(var i=0;i<60;i++) sHtml+='<option value="'+i.toString()+'">'+i.toString()+'</option>';
sHtml+='</select><br /><br />'
sHtml+='<button onclick="JavaScript:document.getElementById(\''+element.uniqueID+'\').Hide();">取消</button>';
sHtml+='<button onclick="JavaScript:document.getElementById(\''+element.uniqueID+'\').SetValue();">确定</button>';
window.__TimeSelectObject.innerHTML=sHtml;
doc.body.appendChild(window.__TimeSelectObject);
}
function Show(){
var x=0;
var y=0;
var e=element;
while(e.parentElement){
x+=e.offsetLeft;
y+=e.offsetTop;
e=e.parentElement;
}
window.__TimeSelectObject.style.left=x;
window.__TimeSelectObject.style.top=y+element.offsetHeight;
window.__TimeSelectObject.style.display='';
}
function Hide(){
window.__TimeSelectObject.style.display='none';
}
function SetValue(){
//根据选框的值,设置文本框的内容
window.__TimeSelectObject.style.display='none';
}
//-->
</SCRIPT>
</PUBLIC:COMPONENT>