我的脚本只在每次运行时将文本滚动到模态中的正确位置。我包括一个屏幕,显示控制台每次运行该功能时如何记录'0'。
摘录:
var offset = $('span').parent().offset().top-230;
console.log(offset);
$('.modal-body').animate({scrollTop: offset}, 'fast');
编辑:添加整个脚本
$('.opBlurb span a').on('click', function() {
var givenString = $(this).text();
$('#opModal').modal({
show: true,
open: setTimeout(function() {
var matches = $('.modal-body p').
addBack().
contents().
filter(function(){
return this.nodeType === 3;
}).
filter(function(){
// Only match when contains given string anywhere in the text
if(this.nodeValue.indexOf(givenString) != -1)
return true;
}).first();
if(matches.length > 0){
var offset = $(matches).wrap('<span>').parent().offset().top-230;
console.log(offset);
$('.modal-body').animate({scrollTop: offset}, 'fast');
}
},500)}
);
});
答案 0 :(得分:0)
需要增加偏移量。
$('.modal-body').animate({scrollTop: offset}, 'fast');
应该阅读
$('.modal-body').animate({scrollTop: '+='+offset}, 'fast');
现在每次都滚动到正确的位置。