Javascript 是否显示默认情况下隐藏的内容?
我有我正在制作的一个小jQuery游戏的代码,默认情况下所有的图片(角色)都是隐藏的。有一个问题是“你准备好玩了吗?”还有一个“是”或“否”按钮。单击“是”按钮时,将隐藏按钮和文本。它还应该显示第一个图像,即#main。由于某种原因,它不起作用。 以下是jQuery代码,其中包含以下图片:Javascript 是否显示默认情况下隐藏的内容?,javascript,jquery,html,Javascript,Jquery,Html,我有我正在制作的一个小jQuery游戏的代码,默认情况下所有的图片(角色)都是隐藏的。有一个问题是“你准备好玩了吗?”还有一个“是”或“否”按钮。单击“是”按钮时,将隐藏按钮和文本。它还应该显示第一个图像,即#main。由于某种原因,它不起作用。 以下是jQuery代码,其中包含以下图片: $(document).ready(function(){ $('#main,#batman,#car,#hobo,#knife,#gangfight,#ganggun,#gangknife,#blood')
$(document).ready(function(){
$('#main,#batman,#car,#hobo,#knife,#gangfight,#ganggun,#gangknife,#blood').hide(-100);
var main=$('#main');
batman=$('#batman');
car=$('#car');
hobo=$('#hobo');
cop=$('#cop');
knife=$('#knife');
gangfight=$('#gangfight');
ganggun=$('#ganggun');
gangknife=$('#gangknife');
blood=$('#blood');
document.write('<title>LOAUP</title>');
document.write('<center><h1>The life of an unlucky person</h1></center>');
document.write('<center id="start">Are you ready to play?</center>');
document.write('<center><button id="yes">Yes</button><button id="no">No</button></center>');
$('#yes').click(function(){
$('#yes,#no').hide(function(){
$('#start').hide();
$('#main').show
});
});
$('#no').click(function(){
$('#yes,#no').hide();
$('#start').hide();
document.write('<center>Ok, come back another time then.</center>');
});
});
//Images below this (HTML)
<img id='main' src='/jquery/sprites/spritePerson.png' />
<img id='batman' src='/jquery/sprites/spriteBatman.png' />
<img id='car' src='/jquery/sprites/spriteCar.png' />
<img id='hobo' src='/jquery/sprites/spriteHobo.png' />
<img id='cop' src='/jquery/sprites/spriteCop.png' />
<img id='knife' src='/jquery/sprites/spriteKnife.png' />
<img id='gangfight' src='/jquery/sprites/spriteGangFight.png' />
<img id='ganggun' src='/jquery/sprites/spriteGangGun.png' />
<img id='gangknife' src='/jquery/sprites/spriteGangKnife.png' />
<img id='blood' src='/jquery/sprites/spriteBloodPuddle.png' />
$(文档).ready(函数(){
$(“#主要,#蝙蝠侠,#汽车,#流浪汉,#刀,#帮派战斗,#帮派枪,#帮派刀,#血液”)。皮(-100);
var main=$(“#main”);
蝙蝠侠=$(“#蝙蝠侠”);
汽车=$(‘汽车’);
流浪汉=$(“#流浪汉”);
cop=$(“#cop”);
刀=$(“#刀”);
帮派战斗=$(“#帮派战斗”);
ganggun=$(“#ganggun”);
工刀=$(“#工刀”);
血液=$(“#血液”);
文件。写入(“贷款”);
写下(“一个不幸的人的一生”);
文档。写('你准备好玩了吗?');
文件。填写(‘YesNo’);
$(“#是”)。单击(函数(){
$('#是,#否').hide(function(){
$('#start').hide();
$('#main').show
});
});
$('#否')。单击(函数(){
$('yes,'no').hide();
$('#start').hide();
写下('好的,下次再来');
});
});
//下面的图片(HTML)
编辑:
下面是一个例子:
在#主菜单中单击功能更改
$('#main').show
到
变量列表应该用逗号分隔,而不是冒号分隔。您可能还想重命名变量,以使其更明显,更易于阅读/记忆,方法是在变量前面加上$符号。例如,当您将选择器存储为变量时,请使用
var $element = $('#element'),
$element2 = $('#element2'),
$element23 = $('#element23');
此外,hide()函数不会像您使用的那样接受负数。只需使用hide()进行即时隐藏,或使用hide(100)进行快速隐藏,使用hide(2000)进行慢速隐藏。。检查:
要在不使用document.write的情况下将html附加到文档中,您可以将html存储为变量,然后选择body标记或任何其他标记,并附加/前置或替换html
$('body').append(yourHTMLvar);
$('body').prepend(yourHTMLvar);
$('body').html(yourHTMLvar);
“title”标记只应出现在html文档的“head”标记之间。使用标题标签代替“h1”到“h6”。
据我所知,html“center”标记也被弃用。尝试使用“span”、“p”甚至“div”来代替。您正在生成大量全局变量。您需要用逗号分隔变量,或者在每个变量前面加上
var
,并且不要使用document。在加载DOM后编写。这会破坏现有的DOM。我还可以用什么来显示文本?@laurencek我刚刚注意到,没有改变任何东西。有人能回答我的第一个问题吗?我会确保让dom元素和填充物,你们让我觉得自己很愚蠢。$(“#main”)。show
不是语法错误。它只请求.show
属性的值,而不使用它。
$('body').append(yourHTMLvar);
$('body').prepend(yourHTMLvar);
$('body').html(yourHTMLvar);