以下代码适用于Firefox,但不适用于chrome。它让我难过。
$('html, body').animate({scrollTop: $('.panel-group').offset().top}, 800, 'swing');
我做了一些研究,代码对我来说很好。 我也在this post尝试了答案,但没有人帮助过我。
值得注意的是,此代码已连接到以下代码:
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
var loadcommentform = getParameterByName('loadcommentform');
if (loadcommentform === 'true') {
$('.horizontalTabs, .tab-pane').removeClass('active');
$('.activateComments').parent().addClass('active');
$('#commentsTabArea').addClass('active');
$('.accordion-toggle').addClass('collapsed');
$('.activateComments').removeClass('collapsed');
$('.panel-collapse').removeClass('in');
$('#collapse-commentsTabArea').addClass('in');
$('html, body').animate({scrollTop: $('.panel-group').offset().top}, 800, 'swing');
}
它检测url是否存在参数。
当我将alert(loadcommentform);
置于if语句中时,我收到警报,因此我知道代码正在运行。我在浏览器开发工具控制台中没有出现javascript错误。
感谢您的帮助:)
答案 0 :(得分:1)
好的,所以我明白了。
因为我使用了响应式标签jquery插件,所以我的目标是错误的元素。 Firefox窗口小于991px所以似乎工作,chrome窗口是> 991所以似乎没有工作。
这是我修复它的方式。
private final static int DELAY_MS = 500;
autoCompletionTextView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
autoCompletionTextView.requestFocus();
new Handler().postDelayed(() -> autoCompletionTextView.showDropDown(), DELAY_MS);
return false;
}
});
我希望这有助于其他人:)