WooCommerce:在结帐页面上停止滚动到错误消息

时间:2019-03-12 10:05:36

标签: javascript jquery wordpress woocommerce

通常,如果结帐表单上有错误,则WooCommerce会滚动到.form.checkout。我希望此操作停止,因为它以某种方式干扰了ScrollMagic.js。

如果我不将ScrollMagic.js排入队列,那么一切都很好,但是启用ScrollMagic.js后,页面会跳到顶部。

我尝试使用$(document.body).on('checkout_error', function () { $( 'html, body' ).stop(); },但不起作用。

如果我使用

$(document.body).on('checkout_error', function () {
    // There was a validation error
    console.log('checkout_error triggered');
});

控制台中没有日志消息。为什么什么都没有发生?如何停止WooCommerce动画?

2 个答案:

答案 0 :(得分:0)

现在出现我的控制台日志。我什么都没有改变,但是jQuery('html, body').stop();不会触发。

但是通过使用GSAP ScrollToPlugin,我现在可以使用滚动到ul.woocommerce-error

$(document.body).on('checkout_error', function () {
  TweenLite.to(window, 1, {scrollTo:"ul.woocommerce-error"});
  console.log('checkout_error triggered');
});

如此处所述:https://greensock.com/ScrollToPlugin

答案 1 :(得分:0)

我知道这是一个很老的话题,但我找到了更简单的解决方案。只需编辑 3 个通知模板(error.php、notice.php、success.php)并删除 role="alert" 就可以了。滚动函数找不到要滚动到的元素。