我知道它很基本,但我无法让它工作.它不断抛出"对象预期"错误......
$(document).ready(function(){
setTimeout('showMessage()', 1000);
function showMessage() {
alert('abc');
}
});
Run Code Online (Sandbox Code Playgroud) 我有一个函数睡在javascript如下:
var is_sleep = true;
function sleep(time){
if (is_sleep){
is_sleep = false;
setTimeout("sleep(time)", time);
}else{
is_sleep = true;
}
}
sleep(3000);
Run Code Online (Sandbox Code Playgroud)
但是它运行is_sleep = true的语句,不会运行is_sleep = false语句而不再睡眠.
有人能说出原因是什么吗?先感谢您.
昨天开始在CodeAcademy学习javascript,并决定我可以实际编写代码.开玩笑.在网上看了一下,找到了类似学习曲线的人,但没有一个答案解决了我的问题.
在HTML中我有4个div.3个距离左边距600px.1距离左边缘400px.
还有4个按钮.当我按下一个按钮时,我试图让相应的div在一秒钟内向左滑动,直到剩下:400px.
我以前有div跳(没有采取看起来像滑动的小步骤)到正确的位置,但从那以后打破了代码.似乎setTimeout没有等待规定的时间.我做了一些在线研究,并认为当setTimeout完成时,保证金已经继续减少到最后的休息位置.
<html>
<head><title></title>
<script type="text/javascript" language="javascript">
//<![CDATA[
var stopPositionVisible = 400;
var stopPositionHiding = 200;
function slideIn(xslide){
slidingDivInNow = document.getElementById(xslide);
if (parseInt(slidingDivInNow.style.left) > stopPositionVisible ) {
slidingDivInNow.style.left = parseInt(slidingDivInNow.style.left) - 2 + "px";
console.log(slidinDivInNow.style.left);
}
setTimeout(slideIn(xslide), 20);
}
//]]>
</script>
</head>
<body>
<a id="div0link" href="#" onclick="slideIn('d1');">Home</a>
<a id="div1link" href="#" onclick="slideIn('d2');">page1</a>
<a id="div2link" href="#" onclick="slideIn('d3'); ">page2</a>
<a id="div3link" href="#" onclick="slideIn('d4'); ">page3</a>
<div id="d1" style="position:absolute; left:400px; top:50px; background:black; color:white; width:200px">horizontally sliding div</div>
<div id="d2" style="position:absolute; left:600px; top:60px; background:blue; color:white; …Run Code Online (Sandbox Code Playgroud) 所以我在悬停时出现了一个下拉导航,我试图在那里延迟以提高可用性.最初我使用的是hoverIntent,除了IE8及以下版本以外,它在任何地方都能很好地工作.
所以我试图用普通的旧Javascript来做延迟,但是setTimeout函数不会调用我的jQuery.
var J = jQuery.noConflict();
J(".navigation li").hover(function(){J(this).addClass("hover");},function(){setTimeout("J(this).removeClass('hover');",500);});
Run Code Online (Sandbox Code Playgroud)
当我这样设置时:
function off(){J(this).removeClass("hover"); alert("hello");}
J(".navigation li").hover(function(){J(this).addClass("hover");},function(){setTimeout("off()",500);});
Run Code Online (Sandbox Code Playgroud)
警报完美但不是.removeClass函数.
我错过了什么吗?
我使用本教程创建了一个基本的javascript函数,用于在给定的时间段内实现更改.
function fadetext(){
if(hex>0) {
hex-=11;
document.getElementById("sample").style.color="rgb("+hex+","+hex+","+hex+")";
setTimeout("fadetext()",20);
}
else
hex=255
}
Run Code Online (Sandbox Code Playgroud)
问题1:如何通过输入变量function; 例如fadetext(element, time).我无法通过简单地用变量替换值来实现.
问题2:通过javascript逐步实现更改是标准(和正确)方法吗?对我来说,困惑在于我们fadetext()在自己的函数中使用函数.这不是超载吗?
我希望这个循环将#leftValue里面的html从0更改为leftValue,从0开始直到leftValue值 - 但是它将#leftvalue中的html更改为leftValue的值,而不是从0开始.
知道我做错了什么吗?
for (i=0; i<leftValue; i++)
{
changeLeft(i);
}
function changeLeft(num)
{
var leftTimer = setTimeout(function(){$('#leftValue').html(num+'%')},1000);
}
Run Code Online (Sandbox Code Playgroud) 所以这是我第一次尝试JavaScript(学习Java atm)而且我差不多完成了.我想要做的是:在页面刷新时从我的textarea中删除readonly,并在几分钟后将其设置为只读定时器.
所有的定时器,getElement-parts和readOnly属性似乎都在工作(最后).
JavaScript的:
<script>
//x = Timelimit in minutes, z = Time remaining alert in minutes
function timeLimit(x,z) {
var min = 60 * 1000;
var limit = x * min;
setTimeout(function(){ alert("Du har " + z + " minutter igjen på prøven.") },( limit - (z * min) ));
setTimeout(function(){ alert(x + " minutter har gått.\nTiden er slutt.") },limit);
setTimeout(document.getElementById('testroom').setAttribute('readOnly','readOnly'),limit);
}
</script>
Run Code Online (Sandbox Code Playgroud)
这是对我的函数的调用(把它放在我的textarea下面,因为它似乎是getElement通过id找到我的textarea的唯一方法):
<form method="post" action="insert.php" />
<textarea name="content" id="testroom"></textarea><br>
<input type="submit" value="Send inn for retting" />
</form> …Run Code Online (Sandbox Code Playgroud) 我正在尝试停止循环功能,但它不起作用
function ref(){
var iin=setTimeout(ref,1000);
}
$('#start').click(function(){ ref(); });
$('#stop').click(function(){clearTimeout(iin);});
Run Code Online (Sandbox Code Playgroud) 我很难理解第一个参数setTimeout以及延迟参数如何影响它.
我理解的方式setTimeout是:
setTimeout(foo, don't even think about foo until x miliseconds has passed)
Run Code Online (Sandbox Code Playgroud)
但是如果我们考虑这个代码:
<div id="mine"></div>
<script type="text/javascript">
function go(){
var myDiv = document.getElementById("mine");
myDiv.innerHTML = "Hello World";
}
setTimeout(go(), 2000)
</script>
Run Code Online (Sandbox Code Playgroud)
go 在没有等待2秒的情况下立即运行.
正如我之前指出的那样,setTimeout(go(), 2000)在我真正想要的时候要求返回值setTimeout(go, 2000).
坦率地说,我不明白除了"一个有效,有一个没有"之外的其他区别.为什么前者也不尊重延迟论证?
haha = 0;
function dodat(){
haha++;
code here...
}
setInterval(function(){
dodat();
}, 1500-haha);
Run Code Online (Sandbox Code Playgroud)
这很奇怪,似乎时间实际上并没有被添加到setinterval ...
这是我的代码,SetInterval在线启动57,功能dodat():
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<!DOCTYPE html>
<body onkeypress="pretend();">
<span id="money">25</span>$ - <span id="lives">100</span>/100 lives
<br><br>
<span style="background-color:#2cafe4;cursor:pointer;width:1000px;height:175px;overflow:hidden;position:relative;display:block;" id="track"></span>
<br>
<span id="divthing" style="position:relative;display:block;"></span>
<script>
money = 25;
lives = 100;
mycars = {};
original = 0;
function doofus() {
if($("div:first").offset().left > 1000){
$("div:first").remove();
lives = lives-1;
document.getElementById("lives").innerHTML = lives;
}
}
haha = 0;
function dodat() {
haha = haha+100;
var btn = …Run Code Online (Sandbox Code Playgroud) settimeout ×10
javascript ×9
jquery ×3
for-loop ×1
function ×1
hover ×1
navigation ×1
readonly ×1
removeclass ×1
setinterval ×1