0

这是我隐藏#edit的方法:body中有一个加载图像,当设备准备好时,它会隐藏$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>

*额外问题 *我需要return false; 在 getDetail() 的最后一行吗?因为我所有的 javascripts 都放在一个 js 文件中。getDetail() 是第一个函数。运行此功能后,我发现其他功能都不起作用,即使是简单的点击功能来提醒某些东西,这些功能只有将脚本以内联样式放在正文中才能起作用。

附言。修复了一些复制和粘贴错误

4

2 回答 2

1

只需修改

<div id='edit'></div>

<div id='edit' style="display:none;"></div>

并删除该行:

$('#edit').hide();

它没有任何效果,因为它在隐藏后立即显示。

于 2013-03-18T20:30:12.513 回答
1

您有语法错误

getDetail() 方法中有额外的右括号。语法错误不仅会影响这部分代码,还会破坏整个脚本。

然后你应该最初#edit使用 CSS 隐藏元素

#edit {display: none;}

这使得隐藏此元素的语句无用。只需删除部分$('#edit').hide()

并且:您不应该<script>在 Javascript 代码结束之前关闭标签。

于 2013-03-18T20:30:36.460 回答