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 と class は大文字と小文字が区別されるため、次のように記述します。

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