单击/更改单选按钮时如何滚动到特定div

时间:2013-10-07 16:03:21

标签: javascript jquery

我正在尝试使用滚动插件将页面滚动到“#Table_Details”。但我似乎无法使其正常工作。

当我点击/更改收音机(.ModemsSelect)按钮时,页面滚动到我刚刚单击的单选按钮的位置,而不是向下滚动我的表(“#table_Details”)所在的页面。我不确定我是做对了还是做了什么。

$(".ModemsSelect,.ServicesSelect").change(function (e) {
    var data = $("#" + this.value).serialize();
    var request = $.ajax({
        url: "classes/sCart.php?action=add",
        type: "POST",
        data: data,
        dataType: "html",
        radioButton: $(this).attr('class')
    });
    request.success(function (data) {
        //$(".in_cart").html("");//clear last item selected
        console.log("extra item added to cart");
        refreshCart();
        if (this.radioButton == "ModemsSelect") {
            $.scrollTo($('#Table_Details'));

            $("#icon_check_modem").html("");
            $("#icon_check_modem").html("<img src=\"../img/check_icon.png\">");
            $('.Modem_buttonNext').button("enable");
        } else if (this.radioButton == "ServicesSelect") {
            $("#icon_check_Installtype").html("");
            $("#icon_check_Installtype").html("<img src=\"../img/check_icon.png\">");
            $(".install_buttonNext").button("enable");
        } else {

        }
    });
});

感谢任何帮助。 谢谢。

2 个答案:

答案 0 :(得分:3)

尝试这样做

$('html, body').animate({
  scrollTop: $("#Table_Details").offset().top
}, 2000);

而不是:

$.scrollTo($('#Table_Details'));

我从这篇文章中获得了代码:SMOOTHLY SCROLL TO AN ELEMENT WITHOUT A JQUERY PLUGIN

这是一个有效的fiddle

答案 1 :(得分:3)

工作小提琴 http://jsfiddle.net/ePstY/

你必须替换它:

$.scrollTo($('#Table_Details'));

用这个:

$('html, body').animate({scrollTop:$('#Table_Details').position().top}, 'slow');