jQuery选择标题属性x,然后滚动到#title

时间:2014-02-09 01:07:32

标签: jquery selector

我的问题是如何使用jQuery滚动到某个位置onClick到一个id #title,而不必一遍又一遍地在代码中重复相同的行。

就像这样:

//Scroll from here (onClick)

<span title="something"><element>Link</element></span>

.
.
.

// to here 

<div id="something"></div>

我尝试过类似的东西,但它不起作用:

$(document).ready( function(x) {

                    $("span[title='" + x + "']").click(function() {
                        window.parent.$('html, body').animate({scrollTop: $("#" + x).offset().top - 10}, "slow");
                        return false;

                    });

                });

...这是一个修改过的版本,工作正常,但要求一遍又一遍地重复相同的代码:

$(document).ready(function(){

                $("span[title='titlex']").click(function() {
                    window.parent.$('html, body').animate({scrollTop: $("#titlex").offset().top - 10}, "slow");
                    return false;
                });
                $("span[title='titley']").click(function() {
                    window.parent.$('html, body').animate({scrollTop: $("#titley").offset().top - 10}, "slow");
                    return false;
                });

});

提前致谢! :d

1 个答案:

答案 0 :(得分:1)

您应该在span元素中添加一个类:

$("span[title]").click(function() {
    $('body').animate({scrollTop: $("#" + $(this).attr('title')).offset().top - 10}, "slow");
    return false;
});