簡體   English   中英

WooCommerce:停止滾動到結帳頁面上的錯誤消息

[英]WooCommerce: Stop scrolling to error message on checkout page

如果結帳表單上有錯誤,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 動畫?

根據這篇文章你可以試試這個嗎?

jQuery( document ).ajaxComplete( function() {
    if ( jQuery( 'body' ).hasClass( 'woocommerce-checkout' ) || jQuery( 'body' ).hasClass( 'woocommerce-cart' ) ) {
        jQuery( 'html, body' ).stop();
    }
} );

現在我的控制台日志出現了。 我根本沒有改變任何東西,但是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

我知道這是一個非常古老的話題,但我找到了更簡單的解決方案。 只需編輯 3 個通知模板(error.php、notice.php、success.php)並刪除 role="alert" 就可以了。 滾動功能找不到要滾動到的元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM