我想动态更改<div>标签中的文本

时间:2016-06-01 04:45:52

标签: javascript html angularjs cordova ionic-framework

如何根据音频动态更改<div>标签中的文字?我有一个音频文件的文本,并有时间该文本将进入音频。在特定时间,文本应该改变。

我尝试使用以下代码执行此操作,但文本未显示在<div>标记中。

var refreshIntervalId = setInterval(function(){
  media.getCurrentPosition(function(position){
    if(position > 0){
      // position is current position of audio which is playing
      if(position < 2.40) {
        console.log("Lets sit comfortably easily");
        $scope.profile.text = "Lets sit comfortably easily";
      } else {
        $scope.profile.text = "Lets close our eyes";
      }
    }
  }, function(error){
    console.log(error);
  })
}, 1000);

控制台正在打印,但文本未显示在<div>标记中。

请分享您对其原因的看法。

3 个答案:

答案 0 :(得分:2)

只需使用class Event extends Model { public function sub_events() { return $this->hasMany('App\Sub_Event', 'event_id'); } public function records() { return $this->morphMany('App\Record', 'recordable'); } // public function users() // { // return $this->belongsToMany('App\User', 'event_user'); // } public function club() { return $this->belongsTo('App\Club'); }

$scope.$apply()

感谢。

答案 1 :(得分:0)

不要使用setinterval, 你必须使用$ interval angular function。

https://docs.angularjs.org/api/ng/service/ $间隔

setinterval超出了角度上下文,然后每个计时器勾选你的界面未更新。

$ interval将在内部为每个计时器刻度调用$ apply函数,自动更新您的视图。

答案 2 :(得分:-3)

$(“#myDivId”)。text(“我的新文字。”);