仅单击第一个单选按钮即可使页面滚动

约翰·C

单击id =“ yourgoal”中的单选按钮后,我的页面显示div。我希望页面仅在第一次单击“您的目标”中的按钮时滚动到该div。这是我正在使用的代码。我不希望页面在第一次单击后滚动到div。

$('input:radio[name="yourgoal"]').change(function() {
                 if ($('#calculations1').css('display') == 'none') {
                            $('html, body').animate({
                            scrollTop: $("#scrollto").offset().top
                            }, 1500);

                    }

问题是,它破坏了我在.change()上拥有的其余功能。我不想将所有函数放在if之后的滚动中,然后再放入else {}语句中,因为这似乎是大量的冗余代码(它也会破坏它)?我该如何做一个简单的if语句,该语句不影响.change函数中其余的动作?

也许有一个更简单的解决方案,而我对此却认为过高?

提前致谢!

无神论者
$('input:radio[name="yourgoal"]').one('change',
    function () {
        if ($('#calculations1').css('display') == 'none') {
            $('html, body').animate({
                scrollTop: $("#scrollto").offset().top
            }, 1500);
        }
    }
);

我建议使用一个。首次触发事件后,它将自动删除。

如果要在该更改中添加更多代码,并且需要在第一个更改之后保留该代码,则可以使用事件命名空间并附加多个更改。

$('input:radio[name="yourgoal"]').one('change.firstChange',
    function () {
        if ($('#calculations1').css('display') == 'none') {
            $('html, body').animate({
                scrollTop: $("#scrollto").offset().top
            }, 1500);
        }
    }
);
$('input:radio[name="yourgoal"]').on('change.allChanges',
    function () {
        // All your other code that stays attached
    }
);

编辑:似乎一个将不起作用,因为该“ one”事件将附加到名称为yourgoal的每个单选按钮上,因此它将为每个单独单击的第一个单选按钮滚动一次,但是如果您只想滚动,则可以这样做第一次选择单选按钮,而不是在第一次选择所有都具有您的目标名称的其他单选按钮时。

小提琴:http : //jsfiddle.net/31s3LLjL/3/

$('input:radio[name="yourgoal"]').on('change.firstChange',
    function () {
        $('input:radio[name="yourgoal"]').off('change.firstChange');
        $('html, body').animate({
            scrollTop: $("#scrollto").offset().top
        }, 1500);
    }
);
$('input:radio[name="yourgoal"]').on('change.allChanges',
    function () {
        // Other change stuff
    }
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在第一个单选按钮上,单击刷新页面

仅针对第一个单选按钮的更改触发iCheck库的ifChanged事件

HTML + CSS Modified单选按钮仅选择第一个

仅使用javascript检查了第一个单选按钮作为默认设置

检查单选按钮的第一个值(Codeigniter)

使用PHP检查第一个单选按钮

[javascript]单选按钮跳到第一个选项

在一个观察者中更新多个单选按钮仅适用于第一个单选按钮

如果 2 个单选按钮具有相同的值,则打开页面并选择第一个

仅获得单击的按钮的第一个值,该按钮具有多个具有多个值的按钮

单选按钮返回与第一个动态生成的单选按钮相同的值

单击按钮后获取第一个div

禁用没有单选按钮的下一个按钮仅适用于 jquery 中的第一个元素

如何制作多个单选按钮,但始终仅选择一个,而第一个为默认设置?

Vue.js-每个组仅单击一个按钮即可生成动态按钮

选择第二个单选按钮时未选中第一个单选按钮

单击第一个文本字段的单选按钮时,第二个文本字段应处于非活动状态

jQuery:单击第一个按钮后启用第二个按钮

HTML单选按钮将第一个单选按钮值保存在数据库中

ASP.NET单选按钮检查的已更改事件未触发第一个单选按钮

我有这些Kendo单选按钮,它们只选择第一个单选按钮值

点击第一个单选按钮时,会自动在该div内打开单选按钮

如何使用jQuery选择使用for循环元素创建的第一个单选按钮

更改单选按钮的颜色并选择加载的第一个元素

如何设置中继器内的asp中选中的第一个单选按钮

多个单选按钮不起作用,只有第一个

只需单击按钮,即可将子视图仅添加到一个UICollectionViewCell中

单击WPF中的一个按钮即可显示“用户控制(WPF)视图”页面

我在 webflow 中的 Javascript 仅适用于第一个 div。我究竟做错了什么?(单选按钮)