2011-09-13 5 views
0

http://jsfiddle.net/aprWP/のrelとhrefの試合

<a href="#numtag-1">One</a> 
<a href="#numtag-2">Two</a> 
<a href="#numtag-3">Three</a> 

<div class="numtag-1">One</div> 
<div class="numtag-2">Two</div> 
<div class="numtag-3">Three</div> 

..ホバーに適切なdivが 'アクティブ' クラスを切り替える必要があります。

多くのことを試しましたが、うまく動作しません。

おかげ

+0

それはあなたが上にマウスを移動したいのか明確ではありません。 – Blazemonger

+0

正確に何を試しましたか? –

答えて

2

:私はそれを行うための良い方法だと思うと、サブストリングを使用するように変更

$('a').hover(function() { 
    $('div.' + $(this).attr('href').substring(1)).toggleClass('active'); 
}); 

http://jsfiddle.net/aprWP/7/

+0

私は短いコードが好きです。ショートは良いです。 (私は '.replace( '#'、 '')'の代わりに '.slice(1)'を使用していました)。 – Blazemonger

2

これはいいと簡単です。 、a.hover()イベントを使用しahref属性からクラスを作成し、ここであなたはそれを持っている:

$(document).ready(function() { 
    $("a").hover(function() { 
     var str = $(this).attr("href").replace("#", ""); 

     $("div." + str).addClass("active"); 
    }, function() { 
     var str = $(this).attr("href").replace("#", ""); 

     $("div." + str).removeClass("active"); 
    }); 
}); 

は、あなたがそれ故に、href属性から#を削除する必要があることに留意しています.replace("#", "")部分。ホバーイベントとtoggleClassの組み合わせを使用して

+0

2つの機能を持つ必要はありません。ちょうど1つを使用してクラスを切り替えるだけです。しかし、とにかく+1は動作します。 –

+0

マウスが離れるときにクラスを削除するには、2つの関数が必要です。あなたが言ったように、マウスが 'a'に入ったときにクラスを切り替えるだけなら、それは問題ありません。 – Bojangles

1
$(document).ready(function() {  
    $('a').hover(function() { 
     var selector = 'div.' + $(this).attr('href').substr(1); 
     $(selector).addClass('active'); 
    }, function() { 
     var selector = 'div.' + $(this).attr('href').substr(1); 
     $(selector).removeClass('active'); 
    }); 
}); 

http://jsfiddle.net/aprWP/3/

1

$(document).ready(function() { 
    $('a').hover(function() { 
     var id = $(this).attr('href').substring(1); 
     $('.' + id).addClass('active'); 
    }, function() { 
     var id = $(this).attr('href').substring(1); 
     $('.' + id).removeClass('active');   
    }); 
}); 

JSFiddle試してみてください - このコードを試してみてくださいhttp://jsfiddle.net/aprWP/4/

1

を:

$(document).ready(function() { 
    $('a').hover(function(){  
     var url = $(this).attr('href'); 
     var className = url.substring(1); 
     $('div.' + className).toggleClass('active'); 
    }); 
}); 
関連する問題