Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在给定新Firebase响应的情况下更新HTML中的类?_Javascript_Jquery_Html_Css_Firebase - Fatal编程技术网

Javascript 如何在给定新Firebase响应的情况下更新HTML中的类?

Javascript 如何在给定新Firebase响应的情况下更新HTML中的类?,javascript,jquery,html,css,firebase,Javascript,Jquery,Html,Css,Firebase,我从下面的进度跟踪线程复制并粘贴了代码。 基于我的Firebase服务器的更新,我想更新,使用Firebase实现这一点需要三个步骤 给progtrckr一个id 创建一个Firebase侦听器,指示进度何时完成 根据快照的值更改元素的样式 - /#1 var progtrckr=$(“#progtrckr”); // #2 var ref=新的Firebase('/status'); 参考on(值),功能(捕捉){ // #3 var status=snap.val(); //从一个干净的课

我从下面的进度跟踪线程复制并粘贴了代码。


基于我的Firebase服务器的更新,我想更新
,使用Firebase实现这一点需要三个步骤

  • 给progtrckr一个id
  • 创建一个Firebase侦听器,指示进度何时完成
  • 根据快照的值更改元素的样式
  • -

    /#1
    var progtrckr=$(“#progtrckr”);
    // #2
    var ref=新的Firebase('/status');
    参考on(值),功能(捕捉){
    // #3
    var status=snap.val();
    //从一个干净的课堂开始
    progtrckr.removeClass();
    开关(状态){
    案例“清洗”:
    progtrckr.addClass('progtrckr-todo');
    打破
    案例“干燥”:
    progtrckr.addClass('progtrckr-something');
    打破
    箱子“准备好收货”:
    progtrckr.addClass('progtrckr-done');
    打破
    }
    });
    
    @rodamn不需要Firebase的web服务器:)David,感谢您的快速响应。我现在的问题是对我正在做的应用程序更加具体一些。我的数据库中有多个用户,我将检查用户的
    状态是否更改。我将检查状态是否从
    清洗
    变为
    干燥
    变为
    准备拾取
    。在var ref=new Firebase()中,如果我不确定将选择哪个用户,我应该链接到哪个目录?打开一个新问题,我将有一个更好的格式来回答:)实际上,等等。别担心另一个问题。我可以在这里回答。谢谢大卫!还有一个问题!我可以按顺序更新此
    开关
    语句吗?因此,一旦
    状态
    发生变化,
    清洗
    更新为完成,如果
    状态
    再次发生变化,
    干燥
    更新为完成,等等?您可以采用相同的方法,但使用包含更多状态信息的对象,然后关闭该选项。
    <ol class="progtrckr" data-progtrckr-steps="3">
        <li class="progtrckr-todo">Washing</li>
        <li class="progtrckr-todo">Drying</li>
        <li class="progtrckr-todo">Ready for Pickup</li>
    </ol>
    
    // #1
    var progtrckr = $('#progtrckr');
    // #2
    var ref = new Firebase('<your-firebase-db>/status');
    ref.on('value', function(snap) {
       // #3
       var status = snap.val();
       // Start with a clean slate of classes
       progtrckr.removeClass(); 
       switch (status) {
          case "WASHING":
            progtrckr.addClass('progtrckr-todo');
            break;
          case "DRYING":
            progtrckr.addClass('progtrckr-something');
            break;
          case "READY FOR PICKUP":
            progtrckr.addClass('progtrckr-done');
            break;
       }
    });