我想点击链接
时添加一个顶部元素我尝试在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>
为什么这不起作用?
答案 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');
}
});