我已尝试各种方法尝试在将项目添加到购物车后摆脱滚动...它将一直滚动到页面顶部..我不在乎是否留言但是如何停止滚动?我有一个片段插件,它让我能够覆盖woocommerce钩子,所以覆盖它的东西应该工作,但有没有办法覆盖滚动?
这是对OPC(一页结账插件)的woocommerce的覆盖我想避免进入插件的代码,因为它导致我的网站崩溃任何时候我注释掉或在插件中添加代码..所以我有一个片段插件,可以帮助解决这个问题。
$( 'body' ).on( 'updated_checkout', function(){
if ( response_messages.length > 0 ) {
$( '#opc-messages' ).prepend( response_messages );
if ( ! $( '#opc-messages' ).visible() ){
$( 'html, body' ).animate( {
scrollTop: ( $( '#opc-messages' ).offset().top - 150 )
}, 500 );
}
response_messages = ''
}
});
答案 0 :(得分:0)
我认为这是您主题的功能,而不是WooCommerce本身。检查此js文件,以获取WooCommerse GitHub Repo中的添加到购物车按钮。
检查主题是否有选项可以在管理面板中禁用此功能。如果没有这样的选项,您可以更改主题本身的代码,也可以创建子主题。
答案 1 :(得分:0)
我遇到了同样的问题。你可以通过在自己的javascript中覆盖动画来破解你的解决方案。在OPC js中,他们使用updated_checkout
事件来运行滚动动画。您可以将处理函数绑定到同一事件以取消动画。
$(document.body).on('updated_checkout', () => {
$('html, body').stop(true, false);
});
这无论如何都不是一个理想的解决方案,但似乎确实可以解决问题。如果插件开发人员编写了JS,那么它可以在主题中扩展,那将是多么美妙的事情:)