javascript为什么没反应?jquery为什么没反应
大家好,关于javascript为什么没反应很多朋友都还不太明白,今天小编就来为大家分享关于jquery为什么没反应的知识,希望对各位有所帮助!
js sleep函数怎么没有反应
JavaScript中是没有sleep命令的,通常情况下,可以使用现有的setTimeout(),clearTimeout()和setInterval()来完成,在这种情况下,你应该使用内置函数。但如果你真的需要有选项的sleep或等待语句,看看什么代码可以工作得最好。
sleep方法有什么要求呢?看看下面的权威描述最能说明问题:
暂停应用程序的当前线程,时间为指定的毫秒数,允许其他进程(或线程)继续运行。
下面是javascript实现sleep函数的各种方法:
(1)通过循环实现JavaScriptsleep
(2)通过JavaApplet实现JavaScriptsleep
(3)通过Flash实现JavaScriptsleep
(4)通过XMLHttp实现JavaScriptsleep
通过循环实现JavaScriptsleep
代码如下:
<scripttype="text/javascript">
//badimplementation
functionsleep(milliSeconds){
varstartTime=newDate().getTime();//getthecurrenttime
while(newDate().getTime()<startTime+milliSeconds);//hogcpu
}
</script>
我们使用一个while循环,在第3行,不断检测当前的时间,到时间了我们就停止循环。这个循环运行速度很快,浏览器将占用所有宝贵的CPU资源。检查时间可能看起来并不多,但每秒做数千次(或几万),使您的计算机上性能受到影响。
通过JavaApplet实现JavaScriptsleep
这个解决方案是插入一个JavaApplet,通过Javascript和javaapplets进行通讯,JavaApplets使用Java的Thread.sleep()方法休眠线程(不占用资源)。
<appletcode="DevCheater.class"name="devCheater"id="devCheater"mayscript="true"height="1"width="1">
</applet>
<scripttype="text/javascript">
functionsleep(milliSeconds){
//runsJavaAppletssleepmethod
document.devCheater.sleep(milliSeconds);
}
</script>
此方法不冻结所有页面中的其他javascript(使用Chrome时除外)。不幸的是,它需要安装一个Java插件。
通过Flash实现JavaScriptsleep
如果我们尝试了Java,为什么不试试ADOBEFLASH。我创建了一个Flash应用程序,有一个方法叫flashSleep()。我使用javascript调用我的flash方法,并传入需要sleep的毫秒数。但不幸的是,这种方法在大多数的浏览器中也导致了阻塞。
<scripttype="text/javascript">
functionsleep(milliSeconds){
//callsleepmethodinflash
getFlashMovie("flashSleep").flashSleep(milliSeconds);
}
functiongetFlashMovie(movieName){
//source:http://kb2.adobe.com/cps/156/tn_15683.html
varisIE=navigator.appName.indexOf("Microsoft")!=-1;
return(isIE)?window[movieName]:document[movieName];
}
</script>
<objectclassid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"width="50"height="50"id="flashSleep"align="middle">
<paramname="allowScriptAccess"value="sameDomain"/>
<paramname="allowFullScreen"value="false"/>
<paramname="movie"value="flashSleep.swf"/>
<paramname="quality"value="high"/><paramname="bgcolor"value="#ffffff"/><embedsrc="flashSleep.swf"quality="high"bgcolor="#ffffff"width="50"height="50"name="flashSleep"align="middle"allowScriptAccess="sameDomain"allowFullScreen="false"type="application/x-shockwave-flash"pluginspage="http://www.macromedia.com/go/getflashplayer"/>
</object>
测试发现,Flash也不是理想的方式。
通过XMLHttp实现JavaScriptsleep
另一种方法是使用XMLHttp进行服务器通信。
<scripttype="text/javascript">
functionsleep(milliSeconds){
varresource;
varresponse;
if(typeofActiveXObject=='undefined'){
resource=newXMLHttpRequest();
}
else{
//IE
resource=newActiveXObject("Microsoft.XMLHTTP");
}
try{
resource.open('GET','sleep.php?milliSeconds='+milliSeconds,false);
resource.send(null);
response=resource.responseText;//JavaScriptwaitsforresponse}catch(e){
alert(e);
}
returntrue;}
</script>
<?PHP
$milliSeconds=intval($_REQUEST['milliSeconds']);
if($milliSeconds>60*1000){
//limitserverabuse
$milliSeconds=10;
}
usleep($milliSeconds*1000);//note:usleepisinmicrosecondsnotmilliecho"done";
?>
该方法并不占用用户计算机的CPU资源,但加重了服务器额外的负载。而且该方法阻塞了浏览器中其它javascript,对于服务器来说产生了类似DDos的攻击。
结论
从测试数据来看,许多的实现都有一定的副作用,所以setTimeout()或setInterval()函数还是最好的选择。
为什么我的script函数不执行
你好!
你的问题就出现在 if(session.getAttribute("userName")==null这一段源码上面,在js代码中不能够直接用session,你可以先把这个值用隐藏表单的方式拿到<input id="userName" value="${userName}"/>然后在js代码中处理,if(document.getElementById("userName").value()=="undefind"|| document.getElementById("userName").value()==null|| document.getElementById("userName").value()==''){
out.print("您还未登录");}
}
else
{
out.print("您已登录");
}
不过个人感觉这样子处理是否登录不太妥当如果别人禁用了JS,我认为你加一个过滤器比较好
javascript:初学 为什么我这段代码没有反应呢
<HTML>
<HEAD>
</HEAD>
<script language="javascript">
function check(){
if(document.myform.txt1.value=="")
{window.alert("请输入姓名");
document.myform.txt1.focus();
return false;
}
if(document.myform.txt1.value.length<=4||document.myform.txt1.value.length>=12)
{window.alert("姓名长度不符合规定");
document.myform.txt1.focus();
return false;
}
if(document.myform.psd1.value=="")
{
window.alert("请输入密码");
document.myform.psd1.focus();
return false;
}
if(document.myform.psd2.value=="")
{
window.alert("请输入验证密码");
document.myform.psd2.focus();
return false;
}
if(document.myform.psd1.value!=document.myform.psd2.value)
{
window.confirm("两次输入的密码不一致");
document.myform.psd1.focus();
return false;
}
var age=document.myform.age.value
for(var i=0;i<age.length;i++)
{ if(parseInt(age.charAt(i))>0&& parseInt(age.charAt(i))<9)
i++;
else
{window.alert("请正确输入年龄");
document.myform.age.focus();
return false;}
}
if(document.myform.age.value<0||document.myform.age.value>=130)
{window.alert("请正确输入年龄");
document.myform.age.focus();
return false;
}
if(document.myform.sex.value=="")
{window.alert("请选择性别");
document.myform.sex.focus();
return false;
}
if(document.myform.inst[0].checked==false)
{ window.alert("请输入至少一个爱好");
return false;
}
if(document.myform.email.value.length<6)
{ window.alert("请输入您的E-mail");
document.myform.email.focus();
return false;
}
return true;
}
</script>
<BODY>
<center>
<table border=1>
<form name="myform" action="" onsubmit="return check()">
<tr><td>请输入您的姓名:</td>
<td><input type="text" name="txt1"></td></tr>
<tr><td>请输入您的密码:</td>
<td><input type="password" name="psd1"></td></tr>
<tr><td>再输一遍密码:</td>
<td><input type="password" name="psd2"></td></tr>
<tr><td>请输入您的年龄:</td>
<td><input type="text" name="age"></td></tr>
<tr><td>请选择您的性别:</td>
<td><input type="radio" value="男" name="sex">男
<input type="radio" value="女" name="sex">女</td></tr>
<tr><td>请选择您的爱好:</td>
<td><input type="checkbox" value="游泳" name="inst">游泳
<input type="checkbox" value="滑冰" name="inst">滑冰
<input type="checkbox" value="散步" name="inst">散步</td></tr>
<tr><td>请输入您的Email:</td>
<td><input type="text" name="email"></td></tr>
<tr><td><input type="submit" value="提交"></td>
<td><input type="reset" value="重置"></td></tr>
</form>
</table>
</center>
</BODY>
</HTML>
jquery为什么没反应
<script type="text/javascript" src="jquery-2.1.0.min.js">表示引用其他的js文件,如果使用src引用了其他文件,则不能在script标签中间写js代码了
JQuery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可
jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多)
jQuery是免费、开源的,使用MIT许可协议。jQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。除此以外,jQuery提供API让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页
关于javascript为什么没反应和jquery为什么没反应的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。