函数 - 将元素id作为参数传递

时间:2014-07-22 11:19:05

标签: javascript jquery function

http://jsfiddle.net/vidhyaakrish/AFm89/64/

我正在尝试传递元素id(例如,#target-element作为参数滚动到(元素))

function scroll_to(element){
    $('html, body').animate({
        scrollTop: $(element).offset().top
    },1000);
    console.log(element);
}

scroll_to('"\#target-element\"');

但我无法实现 - 有人可以帮助我吗?

4 个答案:

答案 0 :(得分:1)

变化

scroll_to('"\#target-element\"');

scroll_to('#target-element');

DEMO

答案 1 :(得分:1)

scroll_to("#target-element");

这应该做到

答案 2 :(得分:1)

JQuery无法识别您的ID选择器。 (这里是id的#选择器)

将代码更改为此应该会有所帮助:

scroll_to('#target-element');

有关JQuery Selectos的更多信息,请参阅以下链接:JQuery Selectors

链接到您更新的小提琴:JSFiddle

答案 3 :(得分:0)

你可以通过创建一个小jquery插件来实现:

$.fn.animateScrollToElement = function(speed, marginTop) {
    marginTop = marginTop || 0; // if not set, will be 0
    $('html, body').animate({
        scrollTop: $(this).offset().top - marginTop
    }, speed);
    return this;
}

用法:

// element                        speed, 'margin top'
$( selector ).animateScrollToElement(1000, 20);

然后你可以使用标准jquery选择器,插件函数将按this处理元素。

演示:http://jsfiddle.net/AFm89/67/