将px值添加到返回href +'#diviv'

时间:2014-06-10 09:39:16

标签: javascript jquery wordpress

我使用这个jQuery代码在"#separator"打开WordPress链接。我怎么能为它添加一些额外的像素值?例如,我需要链接在#separator打开,但使用-50px。

jQuery("#navigation a").attr("href", function(i, href) {
return href + '#separator';
});

2 个答案:

答案 0 :(得分:0)

试试这个:

jQuery("#navigation a").attr("href", function(i, href) {
    return href + '#separator';
}).on('click', function(){
    var o = this.getAttribute('href');
    $(document).scrollTop($(o).offset().top - 50);
});

答案 1 :(得分:0)

这实际上比它看起来更难。我认为您应该在网址中添加一个参数,然后在着陆页中添加一些jquery代码,例如:

var offset=50;
jQuery("#navigation a").attr("href", function(i, href) {
    return href + '#separator' + '?offset=' + offset;
});

然后,在另一页上:

var hash = $(location).attr('hash');
var positionTop = hash.offset().top;
var offset = parseInt(getParameterByName('offset'));
$('html, body').scrollTo(positionTop + offset)

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}