如何使功能只对一个按钮起作用? Bootstrap-5 滚动到模式底部

How to make function work only for one button? Bootstrap-5 scroll to modals bottom

我想要实现的是创建两个按钮: 1:打开模式 window 2:打开相同的模式并滚动到底部

代码:

$('#menu-item-6706').on('click', function (){
    $('#exampleModal').on('shown.bs.modal', function (event) {
        $("#exampleModal .modal-body").animate({ scrollTop: $('#exampleModal .modal-body').prop("scrollHeight")}, 'slow');
    });
});

这是完整的 jsfiddle 片段: https://jsfiddle.net/mkx2auhj/1/

脚本即将运行:

如果您第一次触发“启动演示模式”,它会打开模式。 如果您触发“联系人”,它会打开模式并滚动到底部。所以是正确的。

问题是,如果您再次点击“启动演示模式”,它会再次滚动到底部,这是不可取的。我希望它像第一次一样打开标准模式。

Have a bunch of buttons that all trigger the same modal with slightly different contents? Use event.relatedTarget and HTML data-bs-* attributes to vary the contents of the modal depending on which button was clicked. https://getbootstrap.com/docs/5.1/components/modal/#varying-modal-content

'shown.bs.modal' 事件侦听器移到单击事件之外,并使用 event.relatedTarget 检测“联系”按钮何时切换模态,然后相应地为模态设置动画。试试这个

$('#exampleModal').on('shown.bs.modal', function (event) {
    if( $(event.relatedTarget).is('#menu-item-6706') ){
        $("#exampleModal .modal-body").animate({ 
            scrollTop: $('#exampleModal .modal-body').prop("scrollHeight")
        }, 'slow');
    }
});