【问题标题】:Authorize.net AcceptUI - prevent scrolling to top of pageAuthorize.net AcceptUI - 防止滚动到页面顶部
【发布时间】:2019-08-27 12:46:28
【问题描述】:

在acceptui.js中点击button显示支付表单时,滚动跳转到页面顶部。可以避免吗?

这是我尝试过的:

<button type="button"
            id="payment_button"
            class="AcceptUI btn btn-success"
            data-billingAddressOptions='{"show":false, "required":false}' 
            data-apiLoginID="loginId" 
            data-clientKey="clientKey"
            data-acceptUIFormBtnTxt="Submit" 
            data-acceptUIFormHeaderTxt=""
            data-paymentOptions='{"showCreditCard": true, "showBankAccount": false}' 
            data-responseHandler="paymentResponseHandler"
            onClick="fixScroll();">
                Get Token
        </button>

<script>
    function fixScroll()
        {
            $(window).scrollTop( $('#payment_button').offset().top );
        }

</script>

这不起作用,因为显示事件发生在点击事件之后。

我能够解决以下问题:

 var scroll_top = 0; 
function fixScroll()
{
    scroll_top = $(document).scrollTop(); 

    var target = document.querySelector('#AcceptUIBackground');
    observer.observe(target, {
        attributes: true
    });
}

var observer = new MutationObserver(function(mutations) {
    $(window).scrollTop( scroll_top);
});

但输入付款信息后它仍然滚动。

【问题讨论】:

    标签: html css authorize.net


    【解决方案1】:

    在他们的例子中,他们有:

    $("#btnOpenAuthorizeNetIFrame").click(function () {
            $("#add_payment").show();
            $("#send_token").attr({ "action": "https://test.authorize.net/payment/payment", "target": "add_payment" }).submit();
            $(window).scrollTop($('#add_payment').offset().top - 50);
                });
    

    尝试删除最后一行:

    $(window).scrollTop($('#add_payment').offset().top - 50);
    

    【讨论】:

    • 我不确定您指的是哪个示例,我的页面上没有类似的代码。
    猜你喜欢
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 2014-06-28
    • 1970-01-01
    相关资源
    最近更新 更多