-1

stackoverflow を使った最初の質問です。わーい!

開発中のサイトがあります。メニューオプションとして画像を使用し、ホバーすると、jqueryでimg srcを変更しました

行きたいメニューをクリックすると、ホバー時の画像がそこにとどまります。これは私がしました: $("#one").click(function(){ $(this).attr('src', 'images/hover1.jpg'); $(this).unbind('mouseleave mousehover');

したがって、これは成功しましたが、別のメニューをクリックすると、ホバー画像を消すことができず、ホバーしなくなります(バインドを解除したため)-しかし、別のメニュークリックでバインドすると機能しませんでした。

助言がありますか?

4

1 に答える 1

0

初めに。ここで CSS ソリューションを作成することをお勧めします。

あなたの JavaScript ファイルをチェックアウトし、ブラウザでいくつかの変更を行いました。最後に、可能な実用的なソリューションを構築します。

$(document).ready(function() {

   var hoverfuncIn = function(){ $(this).attr('src', $(this).attr('src').replace(/(\D)(\.jpg)$/g,'$12$2')); };
   var hoverfuncOut = function(){ $(this).attr('src', $(this).attr('src').replace(/2(\.jpg)$/g,'$1')); };
   var clickToggle = function(e){
    $('.selected').hover(hoverfuncIn,hoverfuncOut).removeClass('selected').mouseout();
        $(e.currentTarget).addClass('selected').unbind('mouseleave mousehover');
}

   $('nav img').hover(hoverfuncIn,hoverfuncOut);

   $("#one").click(function(e){
      clickToggle(e);

...
于 2013-02-08T14:13:47.443 に答える