$ timeout if和else条件不起作用

时间:2017-04-10 08:56:29

标签: javascript angularjs

我是角度和javascript的新手。

我正在使用超时功能来完成某项任务。

这里我在超时中使用了if和else条件。

如果它包含单词,我会突出显示整个URL。

如果条件为真或假,则代码不起作用。它不像checkurls的if条件那样。完成后,它进入if条件?

我的代码有什么问题吗?

if (uploadService.getOrphans()) {
  angular.forEach(uploadService.getOrphans(), function(orphan) {
        var text = orphan.attributes.text;
        if (first_iteration) {
          $timeout(function() {
            console.log($('div#htmlEditor').text());
            var check = $('div#htmlEditor').find("a[href*=" + text + "]");
            if (check.length > 0) {
              $('div#htmlEditor').find("a[href*=" + text + "]").addClass('mark');
              checkurls = true;
            }
          }, 0);
          if (!checkurls) {
            console.log("in the if of checkurl");
            responseData = $scope.highlightHTML(responseData, orphan.attributes.text, false);
          }
          first_iteration = false;
        } else {
          var checkURLContain = false;
          //$(document).ready(function() {  
          $timeout(function() {
            console.log($('div#htmlEditor').text());
            var isvaluepreseninurl = $('div#htmlEditor').find("a[href*=" + text + "]");
            //console.log(isvaluepreseninurl);
            if (isvaluepreseninurl.length > 0) {
              console.log("in timeout");
              $('div#htmlEditor').find("a[href*=" + text + "]").addClass('mark');
              checkURLContain = true;
              console.log("value of checkurls  -->", checkURLContain);
            }
          }, 0);
          //});
          console.log("value of checkurls  -->", checkURLContain);
          if (!checkurls) {
            var check = $scope.isAlreadyHighlightedOrphan(responseData, orphan.attributes.text);
            if (!check) {
              responseData = $scope.highlightHTML(responseData, orphan.attributes.text, false);
            }
          }
        }
        //}

0 个答案:

没有答案