setTimeout不起作用是怎么回事?

我在dede首页使用
<br> setTimeout(function() {<br> $.getScript(&#39;jianhua.js&#39;, callback);}, 1000);<br>  这段代码,想要延迟调用jianhua.js文件,但是不起作用了,页面根本就不显示这个js文件的效果

1个回答

调试下,setTimeout这段代码本身是不是就没有被调用,可以在callback里面写一个alert测试下

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
为什么setTimeout不起作用

![图片说明](https://img-ask.csdn.net/upload/201903/28/1553779392_641736.jpeg) 为什么setTimeout不起作用

每10秒刷新一次div,为什么SetTimeout()不起作用?

<div class="post-text" itemprop="text"> <p>非常简单的任务,每10秒刷新一次div:</p> <pre><code>function upd(){ alert('asd'); $('#maincontent').load('providerpage.php?allimages=1 #maincontent &gt; *'); } window.onload=function(){ setTimeout('upd()',10000); } </code></pre> <p>但是上面的代码不起作用,伙计们请告诉我,它有什么问题?我为测试设置了警报,但在第一次迭代时,它只显示了一次。</p> </div>

javascript在函数中使用setTimeout变量的作用域问题

function test1(){ var n = 10; setTimeout("alert(n)", 500); } function test2(){ var n = 10; setTimeout(function(){alert(n)}, 500); } test1(); test2(); 上面的代码中,执行test1会报错,提示n没有定义,执行test2会把10打印出来。 上面两个函数区别在哪里? test1中报错n没有定义很正常,为什么test2可以输出n?

JS的setTimeout函数没有效果

``` var passId=document.getElementsByClassName("mima"); //获得2个密码框对象 var biao=document.getElementsByTagName("form"); //获得提交的表单对象 i++; //判断密码是否输入 if(passId[0].value==""){ var p=document.createTextNode("请先输密码"); var para=document.createElement("span"); para.appendChild(p); para.setAttribute("style","color:green"); biao[0].insertBefore(para,passId[1].nextSibling); setTimeout(para.setAttribute('style','display:none;'),3000); 以上是部分JS代码,html代码如下 <span>密码:</span> <input class="mima" type="password" name="password" /> <br/> <br/> <span>确认密码:</span> <input class="mima" onfocus="real()" type="password" name="password_check" /> ``` 我想实现确认密码框输入的时候判断是否密码框输入了密码,如果没输入提示GG,并且过几秒GG会消失。 问题: 1.我想调用父亲节点的removeChild,结果没有任何反应,后来我利用setAttribute,设置display为none,但是setTimeout并没有延时执行。 2.在我加入文本节点的时候,我在上面是5个字,不会出现换行,当我输入6个或者多个就出现如下效果![图片说明](https://img-ask.csdn.net/upload/201607/18/1468820277_139754.png) 莫名的出现换行。 麻烦解答一下,谢谢。

hide()方法中的options是起什么作用的 调回函数中的setTimeout函数

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI hide Example</title> <link href="http://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet"> <script src="http://code.jquery.com/jquery-1.10.2.js"></script> <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <!-- CSS --> <style> .toggler-1 { width: 500px; height: 200px; } #button-1 { padding: .5em 1em; text-decoration: none; } #effect-1 { width: 240px; height: 160px; padding: 0.4em; position: relative; } #effect-1 h3 { margin: 0; padding: 0.4em; text-align: center; } </style> <script> $(function() { function runEffect() { $( "#effect-1" ).hide( "shake", {times: 10, distance: 200}, 1000, callback ); }; // callback function to bring a hidden box back function callback() { setTimeout(function() { $( "#effect-1" ).removeAttr( "style" ).hide().fadeIn(); }, 1000 ); }; // set effect from select menu value $( "#button-1" ).click(function() { runEffect(); return false; }); }); </script> </head> <body> <div class="toggler-1"> <div id="effect-1" class="ui-widget-content ui-corner-all"> <h3 class="ui-widget-header ui-corner-all">Hide</h3> <p> JavaTpoint provides easy and point to point learning of various tutorials such as Java Tutorial, Core Java Tutorial, Android, Design Pattern, JavaScript, AJAX, SQL, Cloud Computing, Python etc. </p> </div> </div> <a href="#" id="button-1" class="ui-state-default ui-corner-all">Shake Effect Hide</a> </body> </html> 代码是这么写的,请问上述代码中{times:10, distance: 200}指的是什么? 在setTimeOut函数中 我们为什么要写 $( "#effect-1" ).removeAttr( "style" ).hide().fadeIn(); 那么长的一段代码,而不直接写$("#effect-1").fadeIn()呢?fadeIn()本身就表示淡入的意思。这里为什么还写着hide()呢?我们明明把元素hide了之后需要重现显示出来就不应该写hide().

JavaScript 中的setTimeout() 第一个参数作用域

<pre name="code" class="java"><pre name="code" class="js">var aa=function(){ var aa=0; //this.fuc=function(arg){aa=arg;var obj=this;setTimeout.call(obj,"bb();",1000);}; this.fuc=function(arg){aa=arg;var obj=this;setTimeout.("bb();",1000);}; this.bb=function(){alert(aa)}; //this.setTimeout=window.setTimeout; }; var ff; var a1=new aa(); var a2=new aa(); a2.fuc(4); a1.fuc(3);  </pre> </pre> <p>setTimeout的第一个参数“bb()” 想调用当前aa的实例的bb方法,怎样才能setTimeout成功。如果使用注释掉的方法,ff的错误提示是:<span class="objectBox objectBox-errorMessage hasBreakSwitch "><span class="errorMessage ">Illegal operation on WrappedNative prototype object。</span></span></p> <p><span class="objectBox objectBox-errorMessage hasBreakSwitch "><span class="errorMessage ">还是说不能这么做,setTimeout第一个参数的执行的语句是在window域下的静态代码。</span></span></p> <p><span class="objectBox objectBox-errorMessage hasBreakSwitch "><span class="errorMessage ">那还有什么方法可以达到,一段时间后调用函数?</span></span></p>

for循环和settimeout的问题

for(var i = 0;i < ways.length; i++){ (function(j){ setTimeout(function(){ var e = document.getElementById(ways[j][0]+"-"+ways[j][1]); var left=parseInt(e.offsetLeft+1550/37/2); var top=parseInt(e.offsetTop+700/20/2); move(left,top); console.log(j); },j*5000); })(i); } settimeout中的时间间隔为什么要乘以j,实践证明,只有乘以j才会一个一个输出,不乘以j就会一次性输出,为什么

火狐浏览器下js代码不执行,需要设置settimeout才可以

用requirejs和angularjs拼接的页面。在谷歌和ie都没问题,但在火狐下,js加载出了问题。 是因为异步加载还是什么原因?我不想每次写代码都要加settimeout啊

小白很是迷惑,求大神解救(关于setTimeout()和open())

<!--------------------------html代码--------------------------> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>windowOpen</title> <script type="text/javascript" src="case.js"></script> </head> <body> <a href="javascript:void(null)" onclick="openWin()">点击弹出新窗口</a> </body> </html> <!-----------------------javascript代码----------------------> var win; function openWin(){ var width=400; var height=300; var hcenter=(screen.width-width)/2; var vcenter=(screen.height-height-50)/2; var name="open" var appearance="width="+width+",height="+height+",left="+hcenter+",top="+vcenter; win=window.open("",name,appearance); win.document.write("这是脚本open()函数打开的新窗口!") win.setTimeout("win.close()",2000); //win.setTimeout("self.close()",2000); //window.setTimeout("win.close()",2000); //window.setTimeout("self.close()",2000); } //window.setTimeout("win.close()",2000); 问题一:在浏览器中测试,得到如下结果,为什么win和self不是同一个窗口对象的引用? win.setTimeout("win.close()",2000); //ff,IE11中均无效,新窗口不会定时关闭 win.setTimeout("self.close()",2000); //ff,IE11中均有效,新窗口会定时关闭 问题二:以下两行代码有不同的结果,为什么window调用setTimeout()却能对win起作用? window.setTimeout("win.close()",2000); //ff,IE11中均有效 window.setTimeout("self.close()",2000);//在IE11中有效,但关闭的不是新窗口,ff中无效 问题三:在函数openWin()之外, window.setTimeout("win.close()",2000); 这行代码也可以定时关闭新窗口,但是第一次定时关闭窗口后, 接下来打开的新窗口都不会定时关闭,除非先刷新再打开新窗 口,这也不知为何?

phpseclib ssh exec回调不起作用

<div class="post-text" itemprop="text"> <p>I use phpseclib to SSH into my remote server from a web browser and execute a php file. Below is the code I use:</p> <pre><code>$ssh-&gt;exec('cd myfolder/; php main.php ' . $file, 'packet_handler'); function packet_handler(){ echo "Completed"; header("Location: exec_completed.php"); } </code></pre> <p>The main.php file gets executed without any issue. The problem is with returning the data after execution. I have the following questions:</p> <ol> <li><p>I do a lot of processing in the main.php file and i need to show real time progress of what the script does. When i execute the file through <strong>exec</strong>, only the first echo in the main.php is printed and the execution stops. Is there any way to get real time data from the executing script.</p></li> <li><p>I follow this <a href="http://phpseclib.sourceforge.net/ssh/examples.html" rel="nofollow">example</a> from phpseclib for callbacks although my callback function packet_handler doesn't run after exec is executed. I want to redirect to another page once the main.php I execute through SSH has completed its execution. Now if i redirect to that page i get only partial results as the main.php file has not completed its execution. I tried to use sleep(10) but my main.php may take longer times to execute at times so it didn't work. please suggest any ideas </p></li> </ol> <p>Callback example from phpseclib:</p> <pre><code>&lt;?php include('Net/SSH2.php'); $ssh = new Net_SSH2('www.domain.tld'); if (!$ssh-&gt;login('username', 'password')) { exit('Login Failed'); } function packet_handler($str) { echo $str; } $ssh-&gt;exec('ping 127.0.0.1', 'packet_handler'); ?&gt; </code></pre> </div>

延迟jQuery不起作用

<div class="post-text" itemprop="text"> <p>Hi guys I don't know why my timing function is not working. Consider the following code...</p> <pre><code>$( document ).ready(function() { $.ajax({ type: 'GET', url: 'conversation.json', dataType: 'json', success: function (data) { var conversation = data.conversation1; $.each(conversation, function(i, user) { setTimeout(function () { $('&lt;li&gt;').attr({ class : 'list-group-item', }).text(user.nombre + " : " + user.text). appendTo('#messages'); }, 3000); }); } }); }); </code></pre> <p>I get a json by ajax and I want to show each message by creating time 1 or 2 seconds, it works but just the first time, but after that, all the messages appear at once.</p> <p>If some one could help me please to understand whats is going on.</p> <p>Thanks guys I will keep searching. :( </p> </div>

IE11 Ajax调用不起作用

<div class="post-text" itemprop="text"> <p>When I am calling requestwidgets function under document.ready it is successfully getting called and call to handler is made. But when the same function i am calling from some function it is not getting called Note: This is only happening in IE11 browser Below is the code</p> <pre><code>function CreateNewWidget() { $elementName = $("#ux_widget_name").val(); $elementType = $("#ux_widget_type_dll").val(); $url = '?request=newelement&amp;elementtype=' + $elementType + '&amp;appguid=' + appguid + '&amp;elementname=' + $elementName; $.get($url, function (data) { if (data == "True") { RequestWidgets(); } setTimeout("$.fn.slickBox.close()", 3000); }); } var elements = Array(); function RequestWidgets() { $.get('/shared/test2.ashx?request=getelements&amp;appguid=' + appguid, function (data) { xmlDoc = $.parseXML(data); elements = Array(); RenderElements(elements); }); } </code></pre> </div>

JS关于for循环中定时器的问题

按照逻辑应该是i的输出应该是 0,0,0,1,1,1,2,2,2但是实际情况是输出0,1,2,2,2,2,2,2,2 这是什么原因啊!!!! ``` var b=0.2; function startjianyin(){ for(var i=0;i<3;i++){ var yin=function(){ if(b<=0.4){ b=b+0.1; alert(i); }else{ b=0.2; } setTimeout(yin, 10); } yin(); } } ```

Datagrid Easyui不起作用

<div class="post-text" itemprop="text"> <p>Help. Datagrid EasyUI Not Work Error : </p> <pre><code>jquery.easyui.min.js:11286 Uncaught TypeError: Cannot read property 'length' of undefined at Object.renderTable (jquery.easyui.min.js:11286) at Object.render (jquery.easyui.min.js:11263) at _6e1 (jquery.easyui.min.js:10149) at HTMLTableElement.&lt;anonymous&gt; (jquery.easyui.min.js:11055) at Function.each (jquery.min.js:2) at m.fn.init.each (jquery.min.js:2) at Object.loadData (jquery.easyui.min.js:11054) at m.fn.init.$.fn.datagrid (jquery.easyui.min.js:10816) at jquery.easyui.min.js:10770 at Object.success (jquery.easyui.min.js:11526) </code></pre> <p>Code in : <a href="https://pastebin.com/Y2L8UyeV" rel="nofollow noreferrer">https://pastebin.com/Y2L8UyeV</a></p> <p>Controller Pencatatan.php</p> <pre><code>class Pencatatan extends CI_Controller { public function __construct() { parent::__construct(); $this-&gt;load-&gt;helper('url'); $this-&gt;load-&gt;model('M_Pencatatan'); } function index(){ $data['title'] = 'Pencatatan Transaksi'; $data['content'] = 'V_Pencatatan'; $this-&gt;load-&gt;view('Template/full',$data); } function data() { $data['datatables'] = $this-&gt;M_Pencatatan-&gt;show_keuangan_all(); echo json_encode($data); } } </code></pre> <p>Model M_Pencatatan.php</p> <pre><code>function show_keuangan_all(){ $page = isset($_POST['page']) ? intval($_POST['page']) : 1; $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10; $sort = isset($_POST['sort']) ? strval($_POST['sort']) : 'id_keuangan'; $order = isset($_POST['order']) ? strval($_POST['order']) : 'asc'; $offset = ($page-1) * $rows; $result = array(); $result['total'] = $this-&gt;db-&gt;get('keuangan')-&gt;num_rows(); $row = array(); $this-&gt;db-&gt;limit($rows,$offset); $this-&gt;db-&gt;order_by($sort,$order); $criteria = $this-&gt;db-&gt;get('keuangan'); foreach($criteria-&gt;result_array() as $data) { $row[] = array( 'id'=&gt;$data['id_user'], 'keterangan'=&gt;$data['keterangan'], 'value'=&gt;$data['value'], 'tanggal'=&gt;$data['tanggal_transaksi'] ); } $result=array_merge($result,array('rows'=&gt;$row)); return $result; } } </code></pre> <p>Full View</p> <pre><code>&lt;html&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Pencatatan&lt;/title&gt; &lt;link rel="stylesheet" type="text/css" href="&lt;?php echo base_url(); ?&gt;asset/themes/default/easyui.css"&gt; &lt;link rel="stylesheet" type="text/css" href="&lt;?php echo base_url(); ?&gt;asset/themes/icon.css"&gt; &lt;link rel="stylesheet" type="text/css" href="&lt;?php echo base_url(); ?&gt;asset/demo/demo.css"&gt; &lt;script type="text/javascript" src="&lt;?php echo base_url(); ?&gt;asset/jquery.min.js"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="&lt;?php echo base_url(); ?&gt;asset/jquery.easyui.min.js"&gt;&lt;/script&gt; &lt;script type="text/javascript"&gt; window.setTimeout("waktu()",1000); function waktu() { var tanggal = new Date(); setTimeout("waktu()",1000); document.getElementById("jam").innerHTML = tanggal.getHours(); document.getElementById("menit").innerHTML = tanggal.getMinutes(); document.getElementById("detik").innerHTML = tanggal.getSeconds(); } &lt;/script&gt; &lt;/head&gt; &lt;body class="easyui-layout"&gt; &lt;div data-options="region:'north',border:false" style="height:60px;background:#B3DFDA;padding-left:5px;padding-right:5px"&gt; &lt;table width="100%"&gt; &lt;tr&gt; &lt;td style="width:50%;"&gt;&lt;font size="5px;" color="#00004d"&gt;&lt;b&gt;Pencatatan Keuangan&lt;/b&gt;&lt;/font&gt;&lt;/td&gt; &lt;td style="width:50%;" align="right"&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;font size="2px;" color="#7c7c50"&gt;Selamat Datang, &lt;/font&gt;&lt;/td&gt; &lt;td align="right"&gt;&lt;font size="3px;" color="#00004d"&gt;&lt;b&gt;&lt;?php echo date('d F Y'); ?&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;Font id="jam" style=""&gt;&lt;/Font&gt;: &lt;Font id="menit"&gt;&lt;/Font&gt;: &lt;Font id="detik"&gt;&lt;/Font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div data-options="region:'west',split:true,title:'Main Menu'" style="width:150px;" class="easyui-accordion"&gt; &lt;div title="Transaction" data-options="iconCls:'icon-search'"&gt; &lt;ul class="easyui-tree"&gt; &lt;li&gt; &lt;span&gt;Transaction&lt;/span&gt; &lt;ul&gt; &lt;li&gt; &lt;a style="color:black;text-decoration:none;" href="&lt;?php base_url();?&gt;Pencatatan" data-options="plain:true" onclick="addPencatatan()"&gt;Pencatatan&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/div&gt; &lt;div data-options="region:'east',split:true,collapsed:true,title:'East'" style="width:100px;padding:10px;"&gt;east region&lt;/div&gt; &lt;div data-options="region:'south',border:false,split:false" style="height:25px;background:#A9FACD;padding:0px;"&gt;&lt;font size="2px;" color="#00004d"&gt;&lt;b&gt;&lt;center&gt;&amp;#169; Tuyullie&lt;/center&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt; &lt;!-- Sub Main --&gt; &lt;div data-options="region:'center',title:'Web Dashboard'"&gt; &lt;div id="tt" class="easyui-tabs" data-options="tools:'#tab-tools'" style="width:100%;height:100%"&gt; &lt;?php if(isset($content)) {$this-&gt;load-&gt;view($content);} ?&gt; &lt;/div&gt; &lt;/div&gt; &lt;script type="text/javascript"&gt; function addPencatatan(){ $('#tt').tabs('add',{ title: 'Pencatatan', closable: true }); } &lt;/script&gt; &lt;!-- End Sub Main --&gt; &lt;/body&gt; &lt;/html&gt; V_Pencatatan.php View &lt;table id="dg"&gt;&lt;/table&gt; &lt;!-- Toolbar --&gt; &lt;div id="toolbar"&gt; &lt;a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="create()"&gt;&lt;/a&gt; &lt;a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="update()"&gt;&lt;/a&gt; &lt;a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="remove()"&gt;&lt;/a&gt; &lt;/div&gt; &lt;script&gt; $(document).ready(function(){ $('#dg').datagrid({ border: false, title: "Pencatatan", fit: true, class: "easyui-datagrid", pagination: true, pageSize: 50, striped: true, sortName: "id_user", sortOrder: "desc", pageList: [50, 100, 150, 200, 250], rownumbers: true, fitColumns: true, singleSelect: true, url:'Pencatatan/data', columns:[[ {field:'id',tittle:'ID',width:100}, {field:'keterangan',tittle:'Keterangan',width:100}, {field:'value',tittle:'Value',width:100}, {field:'tanggal',tittle:'Tanggal',width:100} ]] }) }) &lt;/script&gt; </code></pre> </div>

脚本在AJAX加载的DIV中不起作用,只加载了html?

<div class="post-text" itemprop="text"> <p>My JavaScript is not working after ajax response i know that i have to use <code>$('.ajax-link').on('click', 'a', function (e){</code> function for it but when i am using this my<code>e.preventDefault();</code> is not working (means whole page is loading instead of ajax call) and if i am using <code>$('a.ajax-link').click(function (e) {</code> then ajax is working fine but all script of ajax response page is not working after ajax response . i am using <code>jquery 1.10</code>. below is my whole code :</p> <pre><code>$('a.ajax-link').click(function (e) { NProgress.start(); if (msie) e.which = 1; if (e.which != 1 || !$('#is-ajax').prop('checked') || $(this).parent().hasClass('active')) return; e.preventDefault(); $('.sidebar-nav').removeClass('active'); $('.navbar-toggle').removeClass('active'); $('#loading').remove(); $('#dvLoading').show(); var $clink = $(this); History.pushState(null, null, $clink.attr('href')); $('ul li.active').removeClass('active'); $clink.parent('li').addClass('active'); }); History.Adapter.bind(window, 'statechange', function () { // Note: We are using statechange instead of popstate var State = History.getState(); // Note: We are using History.getState() instead of event.state $.ajax({ url: State.url, success: function (msg) { $('#dvLoading').fadeOut(10); NProgress.inc(); $('.main-sec').html($(msg).find('.main-sec').html()); NProgress.inc(); setTimeout(function() { NProgress.done(); $('.fade').removeClass('out'); }, 100); $('#loading').remove(); $('.main-sec').fadeIn(); var newTitle = $(msg).filter('title').text(); $('title').text(newTitle); docReady(); } }); }); </code></pre> </div>

为什么键盘事件不起作用

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> h2{ text-align: center; } p{ text-align: center; } #snakeMap{ width: 500px; height: 500px; border: 5px solid gold; margin: 0 auto; } .row{ height: 20px; /*border: 1px solid red;*/ background: rgb(181,68,52); } .col{ width: 20px; height: 20px; border: 1px solid black; box-sizing: border-box; float: left; } .activeSnake{ background: rgb(178,143,206); } .food{ background: green; } </style> </head> <body> <div id="wrap"> <h2>贪吃蛇</h2> <p id="score">0</p> <div id="snakeMap"> </div> </div> </body> <script type="text/javascript"> //获取分数 var score = document.getElementById('score'); //获取地图 var snakeMap = document.getElementById('snakeMap'); //设置行数 var rowNumber = 15; //设置列数 var colNumber = 10; //设置地图的宽,高 snakeMap.style.width = colNumber * 20 + 'px'; snakeMap.style.height = rowNumber * 20 + 'px'; var arrMap = [];//记录地图中的行 var direction = 'right';// 记录方向 var changeDir = true ;//设置点击按键是否改变方向 var timerDelay;//设置一个延时器 var timerMove;//设置一个定时器 //定义蛇的位置 var x = 2; var y = 0; //食物的坐标 var foodX = 0; var foodY = 0; var scoreNum = 0;//记录分数 //设置地图中的单元格 for (var i = 0;i < rowNumber;i++) { //创建行 var rowDiv = document.createElement('div'); //给行添加 class 名 rowDiv.className = 'row'; //添加元素节点 snakeMap.appendChild(rowDiv); var arrRow = [];//记录行中的每一个单元格 for (var j = 0; j < colNumber;j++) { var colDiv = document.createElement('div'); colDiv.className = 'col'; rowDiv.appendChild(colDiv); arrRow.push(colDiv); } //往数组里添加元素 arrMap.push(arrRow); } console.log(arrMap) var snakeBody = [];//定义蛇身 for (var i = 0;i < 3;i++){ //蛇身设置颜色 arrMap[0][i].className = 'col activeSnake'; snakeBody[i] = arrMap[0][i]; } //为页面添加键盘事件 document.onkeydown = function (e) { //如果 changeDir 值为 false, 则直接跳出键盘事件 if (!changeDir){ return; } var event = window.event|e; //如果蛇向右移动,而且点击左按键,则不作任何操作 if (direction == 'right' && event.keyCode == 37) { return; } else if (direction == 'left' && event.keyCode == 39){ return; }else if (direction == 'top' && event.keyCode == 40){ return; }else if (direction == 'bottom' && event.keyCode == 38){ return; } //方向键控制方向 switch (event.keyCode) { case 37:{ direction = 'left'; break; } case 38:{ direction = 'top'; break; } case 39:{ direction = 'right'; break; } case 40:{ direction = 'bottom'; break; } default:{ break; } } //为了避免快速对此点击方向按键(修改方向) //防止出现 bug changeDir = false; //300毫秒后,将bool 的值赋值为 true; timerDelay = setTimeout(function () { changeDir = true; },100) } //蛇的移动 timerMove = setInterval (function(){ //清除延时器 clearTimeout(timerDelay); //为了防止下次点击按键触发事件 changeDir = true; //判断蛇移动的方向 switch (direction) { case 'right':{ x++; break; } case 'left':{ x--; break; } case 'top':{ y--; break; } case 'bottom':{ y++; break; } default:{ break; } } //超出范围 if (x >= colNumber||x < 0 || y >= rowNumber || y < 0){ alert('game over'); clearInterval(timerMove); return; } //碰到自己 for (var i = 0;i < snakeBody.length;i++) { //将此时移动之后的蛇头位置和再次之前的所有蛇身所在的 div 比较,如果相同,则说明吃到蛇身 if (snakeBody[i] == arrMap[y][x]) { alert('game over'); //关闭蛇移动的定时器 clearInterval (timerMove); return;// 终止函数执行 } } //判断前方是否是食物 if (foodX == x && foodY == y) { arrMap[y][x].className = 'col activeSnake'; //添加蛇的长度 snakeBody.push(arrMap[y][x]); //加分 scoreNum++; score.innerHTML = scoreNum; //随机食物 ranFood(); }else { //删除蛇尾 snakeBody[0].className = 'col'; snakeBody.shift(); //增加蛇头 arrMap[y][x].className = 'col activeSnake'; snakeBody.push(arrMap[y][x]); } },300) //随机数 function ranNum (min,max) { return Math.floor(Math.random() * (max - min + 1) + min); } //随机食物 function ranFood () { foodX = ranNum(0,colNumber - 1); foodY = ranNum(0,rowNumber - 1); //判断食物的位置是否与蛇身重合 if (arrMap[foodY][foodX].className == 'col activeSnake') { ranFood();//继续随机食物 } else { //将随机出的食物设置颜色 arrMap[foodY][foodX].className = 'food col'; } } ranFood(); </script> </html> 这是一段贪吃蛇代码,找了半天没发现哪里有错,键盘事件总是不起作用

PHP未设置会话不起作用

<div class="post-text" itemprop="text"> <p>My PHP script to unset session variable is not working.</p> <p>I need to call a PHP file <code>destroy.php</code> which contains code to unset session variable from ajax, everything is working fine except session clear.</p> <p>I'm posting my code for clearing session variable, please point out my error.</p> <p>jQuery Code:</p> <pre><code>$.ajax ({ type: "POST", url: "SubmitReview.php", data: dataString, cache: false, success: function(response) { $.fn.destroySession(); $('body').animate({scrollTop:0}, 500); $('body').children(':not(div.ErrorMessageContainer)').fadeTo(500, 0.1); $('div.ErrorMessageContainer').html(response).fadeIn(500).delay(5000).fadeOut(500); setTimeout(function() { $('body').children(':not(div.ErrorMessageContainer)').fadeTo(500, 1); }, 5400); setTimeout(function() { window.location.href = "Thanks.php"; }, 5600); } }); $.fn.destroySession = function() { $.post("Destroy.php"); } </code></pre> <p><code>destroy.php</code>:</p> <pre><code>&lt;?php if(isset($_SESSION['MN'])) { $_SESSION['MN'] = array(); unset($_SESSION['MN']); } ?&gt; </code></pre> </div>

php表单进度条不起作用

<div class="post-text" itemprop="text"> <p>Can someone spot the error in this code it is not displaying the upload progress.</p> <pre><code>&lt;form action="upload.php" method="post" enctype="multipart/form-data"&gt; &lt;center&gt;&lt;p&gt; &lt;input type='file' id='upload_id' size='58' style='height: 30px; font-size: 18px' name='filename'&gt;&lt;/p&gt; &lt;input type='image' src='&lt;?php echo $menu_upload_button; ?&gt;' onclick="function set() { f=document.getElementById('progress_iframe'); f.style.display='block'; f.src='uploadprogress.php?id=&lt;?=$upload_id?&gt;';} setTimeout(set);"&gt; &lt;iframe id="progress_iframe" src="" style="display:none;" scrolling="no" frameborder="0"&gt;&lt;/iframe&gt; &lt;/form&gt; </code></pre> <p>the function from the input is this:</p> <pre><code>function set() { f=document.getElementById('progress_iframe'); f.style.display='block'; f.src='uploadprogress.php?id=&lt;?=$upload_id?&gt;'; } setTimeout(set); </code></pre> <p>uploadprogress.php:</p> <pre><code>&lt;META HTTP-EQUIV='REFRESH' CONTENT='1;URL=?id=&lt;?=$_GET['id']?&gt;'&gt; Upload progress:&lt;br /&gt; &lt;?php if(!$_GET['id']) die; $info = uploadprogress_get_info($_GET['id']); $kbytes_total = round($info['bytes_total'] / 1024); $kbytes_uploaded = round($info['bytes_uploaded'] / 1024); echo $kbytes_uploaded.'/'.$kbytes_total.' KB'; ?&gt; </code></pre> <p>Thank you.</p> </div>

请问下面这句话中的单引号有什么作用

``` var repeat= "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")"; ``` ``` movement=setTimeout(repeat,interval); ``` ``` ```

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

课程主要面向嵌入式Linux初学者、工程师、学生 主要从一下几方面进行讲解: 1.linux学习路线、基本命令、高级命令 2.shell、vi及vim入门讲解 3.软件安装下载、NFS、Samba、FTP等服务器配置及使用

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

Python数据分析与挖掘

92讲视频课+16大项目实战+源码+¥800元课程礼包+讲师社群1V1答疑+社群闭门分享会=99元 &nbsp; 为什么学习数据分析? &nbsp; &nbsp; &nbsp; 人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。 &nbsp; &nbsp; &nbsp; 从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。 &nbsp;&nbsp; 本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。 &nbsp; 二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 &nbsp; 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。 &nbsp; 四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。 &nbsp; 五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。

如何在虚拟机VM上使用串口

在系统内核开发中,经常会用到串口调试,利用VMware的Virtual Machine更是为调试系统内核如虎添翼。那么怎么搭建串口调试环境呢?因为最近工作涉及到这方面,利用强大的google搜索和自己

程序员的兼职技能课

获取讲师答疑方式: 在付费视频第一节(触摸命令_ALL)片头有二维码及加群流程介绍 限时福利 原价99元,今日仅需39元!购课添加小助手(微信号:csdn590)按提示还可领取价值800元的编程大礼包! 讲师介绍: 苏奕嘉&nbsp;前阿里UC项目工程师 脚本开发平台官方认证满级(六级)开发者。 我将如何教会你通过【定制脚本】赚到你人生的第一桶金? 零基础程序定制脚本开发课程,是完全针对零脚本开发经验的小白而设计,课程内容共分为3大阶段: ①前期将带你掌握Q开发语言和界面交互开发能力; ②中期通过实战来制作有具体需求的定制脚本; ③后期将解锁脚本的更高阶玩法,打通任督二脉; ④应用定制脚本合法赚取额外收入的完整经验分享,带你通过程序定制脚本开发这项副业,赚取到你的第一桶金!

MFC一站式终极全套课程包

该套餐共包含从C小白到C++到MFC的全部课程,整套学下来绝对成为一名C++大牛!!!

C++语言基础视频教程

C++语言基础视频培训课程:本课与主讲者在大学开出的程序设计课程直接对接,准确把握知识点,注重教学视频与实践体系的结合,帮助初学者有效学习。本教程详细介绍C++语言中的封装、数据隐藏、继承、多态的实现等入门知识;主要包括类的声明、对象定义、构造函数和析构函数、运算符重载、继承和派生、多态性实现等。 课程需要有C语言程序设计的基础(可以利用本人开出的《C语言与程序设计》系列课学习)。学习者能够通过实践的方式,学会利用C++语言解决问题,具备进一步学习利用C++开发应用程序的基础。

北京师范大学信息科学与技术学院笔试10复试真题

北京师范大学信息科学与技术学院笔试,可以更好的让你了解北师大该学院的复试内容,获得更好的成绩。

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。

Python界面版学生管理系统

前不久上传了一个控制台版本的学生管理系统,这个是Python界面版学生管理系统,这个是使用pycharm开发的一个有界面的学生管理系统,基本的增删改查,里面又演示视频和完整代码,有需要的伙伴可以自行下

软件测试2小时入门

本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、原则、流程、方法、模型;&nbsp; 2.常用的黑盒测试用例设计方法及示例演示;&nbsp; 3 常用白盒测试用例设计方法及示例演示;&nbsp; 4.自动化测试优缺点、使用范围及示例‘;&nbsp; 5.测试经验谈。

Tomcat服务器下载、安装、配置环境变量教程(超详细)

未经我的允许,请不要转载我的文章,在此郑重声明!!! 请先配置安装好Java的环境,若没有安装,请参照我博客上的步骤进行安装! 安装Java环境教程https://blog.csdn.net/qq_40881680/article/details/83585542 Tomcat部署Web项目(一)·内嵌https://blog.csdn.net/qq_40881680/article/d...

2019数学建模A题高压油管的压力控制 省一论文即代码

2019数学建模A题高压油管的压力控制省一完整论文即详细C++和Matlab代码,希望对同学们有所帮助

图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目

图书管理系统 Java + MySQL 完整实训代码,MVC三层架构组织,包含所有用到的图片资源以及数据库文件,大三上学期实训,注释很详细,按照阿里巴巴Java编程规范编写

linux下利用/proc进行进程树的打印

在linux下利用c语言实现的进程树的打印,主要通过/proc下的目录中的进程文件,获取status中的进程信息内容,然后利用递归实现进程树的打印

微信小程序开发实战之番茄时钟开发

微信小程序番茄时钟视频教程,本课程将带着各位学员开发一个小程序初级实战类项目,针对只看过官方文档而又无从下手的开发者来说,可以作为一个较好的练手项目,对于有小程序开发经验的开发者而言,可以更好加深对小程序各类组件和API 的理解,为更深层次高难度的项目做铺垫。

[已解决]踩过的坑之mysql连接报“Communications link failure”错误

目录 前言 第一种方法: 第二种方法 第三种方法(适用于项目和数据库在同一台服务器) 第四种方法 第五种方法(项目和数据库不在同一台服务器) 总结 前言 先给大家简述一下我的坑吧,(我用的是mysql,至于oracle有没有这样的问题,有心的小伙伴们可以测试一下哈), 在自己做个javaweb测试项目的时候,因为买的是云服务器,所以数据库连接的是用ip地址,用IDE开发好...

人工智能-计算机视觉实战之路(必备算法+深度学习+项目实战)

系列课程主要分为3大阶段:(1)首先掌握计算机视觉必备算法原理,结合Opencv进行学习与练手,通过实际视项目进行案例应用展示。(2)进军当下最火的深度学习进行视觉任务实战,掌握深度学习中必备算法原理与网络模型架构。(3)结合经典深度学习框架与实战项目进行实战,基于真实数据集展开业务分析与建模实战。整体风格通俗易懂,项目驱动学习与就业面试。 建议同学们按照下列顺序来进行学习:1.Python入门视频课程 2.Opencv计算机视觉实战(Python版) 3.深度学习框架-PyTorch实战/人工智能框架实战精讲:Keras项目 4.Python-深度学习-物体检测实战 5.后续实战课程按照自己喜好选择就可以

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

机器学习初学者必会的案例精讲

通过六个实际的编码项目,带领同学入门人工智能。这些项目涉及机器学习(回归,分类,聚类),深度学习(神经网络),底层数学算法,Weka数据挖掘,利用Git开源项目实战等。

Python数据分析师-实战系列

系列课程主要包括Python数据分析必备工具包,数据分析案例实战,核心算法实战与企业级数据分析与建模解决方案实战,建议大家按照系列课程阶段顺序进行学习。所有数据集均为企业收集的真实数据集,整体风格以实战为导向,通俗讲解Python数据分析核心技巧与实战解决方案。

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

2021考研数学张宇基础30讲.pdf

张宇:博士,全国著名考研数学辅导专家,教育部“国家精品课程建设骨干教师”,全国畅销书《张宇高等数学18讲》《张宇线性代数9讲》《张宇概率论与数理统计9讲》《张宇考研数学题源探析经典1000题》《张宇考

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

DirectX修复工具V4.0增强版

DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复

期末考试评分标准的数学模型

大学期末考试与高中的考试存在很大的不同之处,大学的期末考试成绩是主要分为两个部分:平时成绩和期末考试成绩。平时成绩和期末考试成绩总分一般为一百分,然而平时成绩与期末考试成绩所占的比例不同会导致出现不同

Vue.js 2.0之全家桶系列视频课程

基于新的Vue.js 2.3版本, 目前新全的Vue.js教学视频,让你少走弯路,直达技术前沿! 1. 包含Vue.js全家桶(vue.js、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 2. 采用笔记+代码案例的形式讲解,通俗易懂

c语言项目开发实例

十个c语言案例 (1)贪吃蛇 (2)五子棋游戏 (3)电话薄管理系统 (4)计算器 (5)万年历 (6)电子表 (7)客户端和服务器通信 (8)潜艇大战游戏 (9)鼠标器程序 (10)手机通讯录系统

相关热词 c#中如何设置提交按钮 c#帮助怎么用 c# 读取合并单元格的值 c#带阻程序 c# 替换span内容 c# rpc c#控制台点阵字输出 c#do while循环 c#调用dll多线程 c#找出两个集合不同的
立即提问