【问题标题】:Disable Scrolltop after clicking next button on form - js单击表单上的下一步按钮后禁用 Scrolltop - js
【发布时间】:2015-09-11 09:21:38
【问题描述】:

我正在使用来自 Form Assembly 的多页表单。单击下一步按钮转到下一页后,它会滚动到表格顶部,切断页面的标题!有没有办法阻止这种情况发生?

这是表格 - http://futureldn.co/apply/

我在 html 表单中删除了它...

<script>

input.wfPageNextButton.onclick=function(){
    $('html, body').animate({ scrollTop: 0 }, 0);
};

</script>

但是没有用。然后我注意到了……

<script type="text/javascript" src="http://www.tfaforms.com/wForms/3.8/js/wforms.js"></script>
<script type="text/javascript">
    wFORMS.behaviors.prefill.skip = false;
</script>
    <script type="text/javascript" src="http://www.tfaforms.com/wForms/3.8/js/localization-en_GB.js"></script>

那么,我可以写一些js来抵消这个/这些js文件/s中发生的事情吗?

我根本不擅长 js,所以很难解释它!

提前感谢您的帮助!

【问题讨论】:

  • 你知道我是否需要将 js 添加到我的网站的标题中以抵消这种情况?我一直在表单 html 代码中尝试不同的东西,它说... input.wfPageNextButton.onclick=function(){ $('html, body').animate({ scrollTop: 0 }, 0); }; ...但是,无论我尝试什么,似乎都没有发生任何不同!
  • 感谢您的评论! :)

标签: javascript jquery forms scroll onclick


【解决方案1】:

鉴于您不想完全禁用滚动,我们需要执行以下操作:

$(function() {

    var $body = $(document);
    $body.on('click','.wfPageNextButton, .wfPagePreviousButton', function() {
        // "Disable" the horizontal scroll.
        if ($body.scrollTop() !== 0) {
            $body.scrollTop(0);
        }
    });

}); 

所以在点击按钮后,它会检查是否有垂直滚动,如果有,将其设置为0。至于放在哪里,放在身体的最后可能是最安全的。

注意到在您的页面上测试它时,它不熟悉 $ 作为 jQuery 的简写,因此您可能需要将 $ 更改为 jQuery。

所以

jQuery(function(){
    var $body = jQuery(document);
    ...

【讨论】:

  • 在底部添加有效!但是它禁用了当前页面的滚动,单击下一步按钮时我将如何操作?我用 input.wfPageNextButton.onclick=function(){ 替换了 jQuery(function(){ - 远射,没用!
  • 我只是想-我仍然希望用户能够滚动页面,但只想在单击下一个按钮后禁用滚动顶部...所以当用户转到下一个页面,它保持在那个垂直位置,就是这样!不确定这是否有帮助!
  • @tomloprod 因为 OP 在 javascript 中似乎很新,我不确定他是否可以自己进行必要的更改。他也不知道把它放在哪里。
  • @DrunkWolf 好吧,我认为你应该写一篇评论;但这只是我的意见。
  • @tomloprod 也许你是对的,我自己对 SO(约 2-3 周)还很陌生
猜你喜欢
  • 2012-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
相关资源
最近更新 更多