OnClick在元素处插入顶部

时间:2014-01-24 13:32:13

标签: javascript jquery

我想点击链接

时添加一个顶部元素

我尝试在js上执行此操作,但无效:

$(function test() {     
var newtop = $('.plugin-noticias').position().top + 100;
$('.plugin-noticias').css('top', newtop + 'px');
});

这就在链接上:

<a href="#" onclick="test()"><img src="img/seta-cima.png" alt="Setas" /></a>

为什么这不起作用?

4 个答案:

答案 0 :(得分:0)

您正在使用在线功能调用。必须在浏览器到达onclick=行之前声明该函数。

从DOM准备好打开你的功能并把它放在脑中。

答案 1 :(得分:0)

如果要从onclick属性调用该函数(最好将它绑定在jquery imo中),那么它应该像这样声明,以便它在正确的范围内:

function test() {     
    var newtop = $('.plugin-noticias').position().top + 100;
    $('.plugin-noticias').css('top', newtop + 'px');
}

我实际要做的是:

<a href="#" id="test"><img src="img/seta-cima.png" alt="Setas" /></a>

$(function() {
    // bind the click event using jquery
    $('#test').on('click', function(e) {
        e.preventDefault(); // stop the link click 
        var newtop = $('.plugin-noticias').position().top + 100;
        $('.plugin-noticias').css('top', newtop + 'px');
    }
});

答案 2 :(得分:0)

你可以使用jquery将100px添加到顶部,你不必自己计算。

function test(){
    $(".plugin-noticias").css({
        top: "+=100px" 
    });
}

此外,您的代码有语法错误。您不必将每个函数都包装在jquery函数中。

答案 3 :(得分:0)

我认为你需要的是:

$(function() { 
    window.test = function(){    
        var newtop = $('.plugin-noticias').position().top + 100;
        $('.plugin-noticias').css('top', newtop + 'px');
    }
});