//------------------------------table----------------------------
<table id="SignChoose" style="width:100%" >
<tr>
<td><input id="btnSignIn" type="submit" value="" class="loginbtn" style="background-image: url(PowerOn.png)" onclick="StartSign(true);" /></td>
<td><input id="btnSignOut" type="submit" value="" class="loginbtn" style="background-image: url(PowerOff.png)" onclick="StartSign(false);" /></td>
</tr>
<tr align="center" style="font-family:幼圆;font-size:50px">
<td>签到</td>
<td>签退</td>
</tr>
</table>
//------------------------------StartSign----------------------------
function StartSign(isSignIn) {
$("#SignChoose").hide();
Voice.SpeakText("");
Voice.SpeakText("请您将手指放于指纹仪上");
SignAction(isSignIn);
$("#SignChoose").show();
} 问题是table 在IE8中无法实现隐藏(hide())
//$("#SignChoose").hide(); IE8 无法隐藏
<table id="SignChoose" style="width:100%" >
<tr>
<td><input id="btnSignIn" type="submit" value="" class="loginbtn" style="background-image: url(PowerOn.png)" onclick="StartSign(true);" /></td>
<td><input id="btnSignOut" type="submit" value="" class="loginbtn" style="background-image: url(PowerOff.png)" onclick="StartSign(false);" /></td>
</tr>
<tr align="center" style="font-family:幼圆;font-size:50px">
<td>签到</td>
<td>签退</td>
</tr>
</table>
//------------------------------StartSign----------------------------
function StartSign(isSignIn) {
$("#SignChoose").hide();
Voice.SpeakText("");
Voice.SpeakText("请您将手指放于指纹仪上");
SignAction(isSignIn);
$("#SignChoose").show();
} 问题是table 在IE8中无法实现隐藏(hide())
//$("#SignChoose").hide(); IE8 无法隐藏
$("#SignChoose").hide();//先隐藏
Voice.SpeakText("");//
Voice.SpeakText("请您将手指放于指纹仪上");//报出语音
SignAction(isSignIn);//按指纹
$("#SignChoose").show();//按指纹后显示id=SignChoose 的table
}
//$("#SignChoose").show();注释掉 不是不显示了吗?
$("#SignChoose").hide();//先隐藏
Voice.SpeakText("");//
Voice.SpeakText("请您将手指放于指纹仪上");//报出语音
SignAction(isSignIn);//按指纹
$("#SignChoose").show();//按指纹后显示id=SignChoose 的table
}
我貌似也看出眉目了
你在一个函数里面先隐藏又显示,肯定你只会看到显示的结果啊,你把后面那个show注释掉先看一下是否IE兼容hide
1.是按照顺序的逻辑 来显示的 ,很郁闷的是,在我本机的IE8可以正常显示,到其他的机器IE8显示不了隐藏,2.如果说逻辑有问题,怎么改才能更好了,(按照标注的功能)3.是按过指纹前,hide ,按指纹后 ,show
$(function(){
$("#btnSignIn").mousedown(function(){
$("#SignChoose").hide();
}).mouseup(function(){
$("#SignChoose").show();
});
});
其他的自己处理。可能不是鼠标事件,看你是要响应什么事件
和 function StartSign(isSignIn) 中的 isSignIn和true 有什么联系??
$(function(){
$("#btnSignIn").click(function(){
$("#SignChoose").hide();
Voice.SpeakText("");//
Voice.SpeakText("请您将手指放于指纹仪上");//报出语音
SignAction(true);//按指纹
}).mouseleave(function(){
$("#SignChoose").show();
});
});
我不知道你这个是用到页面上还是用到pad这样的小型设备上面,可能是手点击事件,不晓得手点击事件和手移开事件和这个是否类似,总之这个流程应该是手点击的时候才hide,手移开的时候才show,不能把他们同时放到一个函数里面处理,程序执行的速度是非常快的,一般不容易看到隐藏效果就直接显示了,这样写你的按钮也可以不用绑定onclick事件了,当然还有更好的处理方式
TO 14 楼:是按照顺序的逻辑 来显示的 ,很郁闷的是,在我本机的IE8可以正常显示,到其他的机器IE8显示不了隐藏,一直是这样的,分开写?给点提示?
我显示的效果是先隐藏 后显示 ,隐藏在 SignAction()前,所以不会有异步执行的情况吧?
function StartSign(isSignIn) {
$("#SignChoose").hide();//先隐藏
Voice.SpeakText("");//
Voice.SpeakText("请您将手指放于指纹仪上");//报出语音
SignAction(isSignIn);//按指纹
$("#SignChoose").show();//按指纹后显示id=SignChoose 的table
}
Voice.SpeakText("请您将手指放于指纹仪上");
我觉得问题出在这两句上,改成innerHTML试试吧
{
$("#SignChoose").hide("slow",function(){
voice.Speaktext("");
voice.Speaktext("请您将手指放于指纹仪上");
SignAction(isSignIn);
}); $("#SignChoose").show("slow");
}
结贴,给分,呵呵!