Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.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 为什么rangy没有滚动到范围内结果的位置?_Javascript_Vue.js_Rangy - Fatal编程技术网

Javascript 为什么rangy没有滚动到范围内结果的位置?

Javascript 为什么rangy没有滚动到范围内结果的位置?,javascript,vue.js,rangy,Javascript,Vue.js,Rangy,在用户搜索特定div后,我使用rangy突出显示该div中的一些文本。正在搜索的文本被包装在一个div中,我将其范围限制为。此可搜索文本也包含许多段落,要求用户向下滚动到可搜索文本的末尾 我可以搜索并突出显示范围内的文本,但当找到匹配项时,搜索结果不会滚动到用户的页面视图中。搜索结果会高亮显示,但它位于用户当前视图的下方,用户需要向下滚动才能看到它 成功匹配后,我希望搜索结果滚动到用户的视图中。我怎样才能做到这一点 下面是我用来搜索和突出显示的方法,它是从与我的页面上的document.getE

在用户搜索特定div后,我使用rangy突出显示该div中的一些文本。正在搜索的文本被包装在一个div中,我将其范围限制为。此可搜索文本也包含许多段落,要求用户向下滚动到可搜索文本的末尾

我可以搜索并突出显示范围内的文本,但当找到匹配项时,搜索结果不会滚动到用户的页面视图中。搜索结果会高亮显示,但它位于用户当前视图的下方,用户需要向下滚动才能看到它

成功匹配后,我希望搜索结果滚动到用户的视图中。我怎样才能做到这一点

下面是我用来搜索和突出显示的方法,它是从与我的页面上的
document.getElementById(“我的div”)
不同的div调用的:

doSearch(text) {
  var range = rangy.createRange();
  var searchScopeRange = rangy.createRange();
  searchScopeRange.selectNodeContents(
    document.getElementById("my-div")
  );

  var options = {
    caseSensitive: false,
    wholeWordsOnly: true,
    withinRange: searchScopeRange
  };

  range.selectNodeContents(document.getElementById("my-div"));
  this.searchResultApplier.undoToRange(range);

  var searchTerm = text;

  if (searchTerm !== "") {
    // Iterate over matches
    while (range.findText(searchTerm)) {
      // range now encompasses the first text match
      this.searchResultApplier.applyToRange(range);

      // Collapse the range to the position immediately after the match
      range.collapse(false);
      break;
    }
  }
},