0

首先,我是编码的初学者,所以请多多包涵。我在一个页面上有几个图像,形成一个导航栏,该导航栏将被动画化。我正在尝试根据鼠标悬停的元素移动元素。所有图像都有唯一的 id 并共享通用名称,即主页图标的名称是“home”和“homeShad”。这个想法是当你将鼠标悬停在家里时,homeShad 会移动,因为我有几个链接试图精简我的代码。这导致我来到这里以及我想要做什么

$.reset = function()  {
$(this + 'Shad').animate({
    left: '+=100'}, 300)

$('#home').mouseenter(function() {
    $.reset
    })

这不起作用所以我尝试了这个

$.reset = function()  {
$('#'+ $(this).attr("id")+" shad").animate({
    left: '+=100'}, 300)

仍然没有喜悦。

('#home').click(function() {
    alert('#'+ this.id + 'shad')
})

这设法让警报显示“#homeShad”正是我试图为它制作动画时我正在寻找的东西,没有快乐

希望有人能提供帮助,如果我在这里发帖时犯了任何错误,我很抱歉

4

2 回答 2

1

看看这个小提琴:http: //jsfiddle.net/eVDe3/

希望这能回答你的问题!您的代码应该是:

$('#home').click(function() {
    $('#'+this.id+'Shad').animate({
        left: '+=100'
    },300);
});

编辑:如果你想通过函数调用它,你必须通过$(this).id. 在此处检查此更新的小提琴:http: //jsfiddle.net/eVDe3/1/ 这是相应的代码:

function reset(id) {
    $('#'+id+'Shad').animate({
        left: '+=100'
    },300);
}
$('#home').click(function() {
    reset($(this).attr('id'));
});
于 2012-07-21T11:50:39.810 回答
0

我看到您已经为图标设置了“homeShad”ID,但是您在提到的点使用了“shad”。我不知道你是否意识到这一点,但 id 和类是区分大小写的,所以你应该像下面这样写:

$.reset = function()  {
$('#'+ $(this).attr("id")+" Shad").animate({
    left: '+=100'}, 300)
};
于 2012-07-21T11:45:56.110 回答