Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery scrollTop偏移量未滚动到移动设备上的目标元素_Javascript_Html_Jquery_Css - Fatal编程技术网

Javascript jQuery scrollTop偏移量未滚动到移动设备上的目标元素

Javascript jQuery scrollTop偏移量未滚动到移动设备上的目标元素,javascript,html,jquery,css,Javascript,Html,Jquery,Css,我一直在尝试为表单编写jQuery代码,这样当用户选择一个单选按钮时,页面会自动滚动到下一个问题,该问题由frm\u opt\u容器类包装 这是我的页面的HTML结构: <div class="frm_opt_container"> <div class="frm_radio"> <label> <input type="radio"> </label

我一直在尝试为表单编写jQuery代码,这样当用户选择一个单选按钮时,页面会自动滚动到下一个问题,该问题由
frm\u opt\u容器类包装

这是我的页面的HTML结构:

<div class="frm_opt_container">
  <div class="frm_radio">
    <label>
      <input type="radio">
    </label>
  </div>

  <div class="frm_radio">
  <label>
    <input type="radio">
  </label>
  </div>

  <div class="frm_radio">
    <label>
      <input type="radio">
    </label>
  </div>
</div>
问题:该代码在桌面上运行良好,但在移动设备上,当一个问题有两个多选项时,它只会滚动一点(我在移动设备上将它们显示为块)

这里有一个链接到只包含表单的页面。您可以使用第一个问题和单选按钮在手机上进行测试

谢谢

$(".frm_radio input").on('change', function() {

        var selector = $(this).closest('div').next();
        $('html, body').animate({
            scrollTop: $(selector).offset().top
        }, 2000);
    });

试试这个jQuery代码

这就是你想要做的吗

更改/单击单选按钮后,通过指向
$(this).parents(“.frm\u form\u fields”)。next()
:找到输入的
.frm\u form\u fields
父对象,并在DOM上选择下一个

$(“.frm\u无线电输入”).更改(功能(){
const$target=$(this).parents(“.frm_form_fields”).next();
如果($target.length<1){
返回;
}
$(“html,body”).animate(
{
scrollTop:$target.offset().top
},
1000
);
});
.container{
垫底:600px;
}
.frm_收音机{
填充:20px;
利润率:10px;
背景:卡德蓝;
颜色:白色;
}

你是怎么听说我们的?
谷歌/Youtube
Facebook/Instagram
你是怎么听说我们的?
雅虎/必应
电子邮件
你是怎么听说我们的?
自动取款机
另一个客户
自动取款机
你是怎么听说我们的?
广告牌
朋友/家人
我是过去的客户

感谢您将代码缩短了很多。不幸的是,这个问题仍然没有在手机上解决。我开始怀疑scrollTop允许滚动的数量是否有一些限制。编辑:您的代码已成功滚动到问题,但问题的所有选项都在折叠下面。有办法解决这个问题吗?恐怕没有。您的代码意味着滚动到最近的“.frm_radio”类,它只是另一个单选按钮类。我打算让页面滚动到下一个问题,该问题的类为“.frm_opt_container”。啊,我不理解预期的行为。几小时后我回到电脑前,我当然可以帮你编写代码。非常可行!为您想要的行为定制代码。这就是你要找的吗?不,这好像不管用。
$(".frm_radio input").on('change', function() {

        var selector = $(this).closest('div').next();
        $('html, body').animate({
            scrollTop: $(selector).offset().top
        }, 2000);
    });