这是我隐藏#edit的方法:正文中有一个加载图片,当设备准备就绪时,它会隐藏$ edit并显示加载图片。当在getDetail中完成操作时,隐藏#load并显示#edit。
但是,现在的问题是,在打开页面时,会显示加载和编辑,并且在getDetail函数之后它会正常工作。
我应该如何修改代码?
<script type="text/javascript">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
$('#edit').hide();
getDetail();
}
</script>
js
function getDetail() {
$('#load').hide();
$('#edit').show();
}
html部分
<div id='load'>
<img src="loading.gif"
style="margin-left:auto; margin-right:auto; ">
</div><!-- /load -->
<div id='edit'></div>
* 额外问题* 我是否需要在getDetail()的最后一行return false;
?因为我的所有javascripts都放在一个js文件中。 getDetail()是第一个函数。运行此函数后,我发现其他函数不起作用,即使是一个简单的单击函数来提醒某些东西,这些函数只有在脚本以内联样式放入正文时才能工作。
PS。修复了一些复制和粘贴错误
答案 0 :(得分:1)
只需修改
<div id='edit'></div>
到
<div id='edit' style="display:none;"></div>
并删除该行:
$('#edit').hide();
它没有任何效果,因为隐藏后会立即显示它。
答案 1 :(得分:1)
您有语法错误
getDetail()方法中有额外的右括号。语法错误不仅会影响这部分代码,还会破坏整个脚本。
然后,您应该首先使用CSS隐藏#edit
元素
#edit {display: none;}
使得隐藏此元素的语句无效。只需删除部分$('#edit').hide()
并且:您不应在Javascript代码结束前关闭<script>
标记。