Для поиска текста на больших веб-страницах я нашел скрипт «JavaScript Find-on-page», и он реализован на моем сайте, и он работает просто отлично.Но чтобы он соответствовал эффектам плавной прокрутки, я бы хотел, чтобы он плавно перемещался к результату поиска, а не мгновенно переходил к выбранной находке.Я попытался настроить существующий скрипт, но я не знаю, как правильно добавить анимацию или прокрутку к этому коду.Любая идея?Как бы вы решили эту проблему?
var TRange = null;
function findString(str) {
if (parseInt(navigator.appVersion) < 4) return;
var strFound;
if (window.find) {
// CODE FOR BROWSERS THAT SUPPORT window.find
strFound = self.find(str);
if (strFound && self.getSelection && !self.getSelection().anchorNode) {
strFound = self.find(str)
}
if (!strFound) {
strFound = self.find(str, 0, 1)
while (self.find(str, 0, 1)) continue
}
} else if (navigator.appName.indexOf("Microsoft") != -1) {
// EXPLORER-SPECIFIC CODE
if (TRange != null) {
TRange.collapse(false)
strFound = TRange.findText(str)
if (strFound) TRange.select()
}
if (TRange == null || strFound == 0) {
TRange = self.document.body.createTextRange()
strFound = TRange.findText(str)
if (strFound) TRange.select()
}
} else if (navigator.appName == "Opera") {
alert("Opera browsers not supported, sorry...")
return;
}
if (!strFound) alert("String '" + str + "' not found!")
return;
};
document.getElementById('f1').onsubmit = function() {
findString(this.t1.value);
return false;
};
Существует сценарий скрипта, который я нашел:
https://jsfiddle.net/samliew/xhYZb/