当前位置: 首页 > 知识库问答 >
问题:

JQuery Mobile 1.3.1“$.Mobile.loading”不工作

顾承平
2023-03-14

我有以下代码:

超文本标记语言:

<link rel="stylesheet" href="js/jquery.mobile-1.3.1.min.css"/>
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/jquery.mobile-1.3.1.min.js"></script>

JS公司:

$(document).on({
  ajaxStart: function() { 
    $.mobile.loading('show');
    console.log('getJSON starts...');
  },
  ajaxStop: function() {
    $.mobile.loading('hide');
    console.log('getJSON ends...');
  }    
});

目前,我正在使用Jquery Mobile 1.3.1,并在mozilla firefox和google chrome中测试这段代码。稍后我将在phonegap应用程序中使用它。

我正在加载一个JSON并将其显示在listview的屏幕上。加载时,我希望程序显示“加载微调器”。控制台日志显示ajaxStart正在启动,但屏幕上没有任何可视微调器。

我做错了什么?请救命!

提前谢谢。

共有3个答案

费星晖
2023-03-14

内部AJAX调用?(但在任何地方都适用)

$.ajax({ url: ..., 
    type:'post', dataType:'json',
    data:{ d: ... }, 
    beforeSend: function() { fSpinner('show'); },
    complete: function(){ fSpinner('hide'); },
    success: function( res ){...},
    error: function(e){ alert('Error: ' + e.responseText) }
});

以及功能本身:

function fSpinner( strShowOrHide ) {
    setTimeout( function(){
        $.mobile.loading( strShowOrHide );
    }, 1); 
}
孙梓
2023-03-14

将其包装在setTimeout中可以正常工作。我只需要一个简单的函数即可:

function loading(showOrHide) {
    setTimeout(function(){
        $.mobile.loading(showOrHide);
    }, 1); 
}

然后,当您想显示或隐藏微调器时,只需调用它:

loading('show');

loading('hide');

下面是一个愚蠢的JSFIDLE:http://jsfiddle.net/7UpW5/

彭鸿畅
2023-03-14

什么jQuery Mobile留档缺乏有关成功执行的信息:

$.mobile.loading('show');

$.mobile.loading('hide');

它们将仅在pageshow事件期间显示。在任何其他情况下,都需要将它们包装到setinterval中,如下所示:

如果您对pageshow和其他jQuery移动页面事件一无所知,请查看本文,这是我的个人博客。或者在这里找到它。

首先,如果没有设置的间隔,您将无法显示/隐藏AJAX加载程序。只有一种情况下,在没有的情况下,这是可能的,那就是在pageshow事件期间。在任何其他情况下,需要设置间隔来启动加载程序。

下面是一个工作示例:http://jsfiddle.net/Gajotres/Zr7Gf/

    var interval = setInterval(function(){
        $.mobile.loading('show');
        clearInterval(interval);
    },1);    

    var interval = setInterval(function(){
        $.mobile.loading('hide');
        clearInterval(interval);
    },1);      
 类似资料:
  • 我想在菜单栏文本被选中时更改它的颜色。 这里可能出了什么问题? 我尝试使用伪类':active',但没有得到应用。其中as':Hover'正在工作。 我还尝试使用'Router LinkActive',它应该添加类'Active-Link',但这也不起作用。 我在下面给出了HTML、SCCS和TS代码:

  • 我编写了一组简单的类,向一位朋友演示如何为AOP(而不是xml配置)使用注释。我们无法使@ComponentScan工作,并且AnnotationConfigApplicationContext getBean的行为也不正常。我想明白两件事。请参阅下面的代码: PersonOperationSI.java PersonOperations.java PersonOperationsConfigCl

  • 我正在Eclipse Neon中使用Hibernate工具(JBoss tools 4.4.0.Final)。现在,我想将数据库表反向工程为POJO对象和Hibernate映射文件。 我遵循了一些关于如何设置Eclipse来生成POJO对象的教程。在我运行配置之前,一切看起来都很好。什么都没发生,也没有抛出错误。有人能帮我吗?数据库是一个微软SQL服务器2014。 我的逆向工程配置文件看起来像:

  • 我正在尝试使用codeigniter insert\u batch将多行插入到我的数据库表中。根据错误报告,似乎没有设置表列。只是阵列的数量: 我的看法是: 我的控制器: 和型号:

  • 我尝试使用StreamWriter.WriteLine(不是静态地)将几行代码一次写到。txt文件中。 每个播放器对象都是字符串cosnatants。如果我使用不同的文件名(也称为BasicTestInfo2.txt),它会在bin.debug中创建该文件,但它是空的。我知道我到达了using块的内部(我在里面放了一个console.writeline),我知道我想要截断,这就是为什么我对appe