2011-08-25 2 views
0

ページの読み込みに「コンテンツを表示」ボタンがあり、クリックするとコンテンツが表示され、「コンテンツを表示しない」ボタンが表示されます。これは下のコードに従ってうまく動作します。「コンテンツを表示するコンテンツを隠す」Image Hover

$('div.content').hide(); 

$('img.contentslide').click(function() { 
    $('div.content').toggle(1500,function() { 
     if (jQuery.browser.msie) {       // Lines 15-17 = special treatment for IE, because of 
      this.style.removeAttribute('filter');   // lack of support for ClearType font rendering on items 
     }             // being toggled in jQuery. 
    }); 
     if (slideState == 'closed') { 
      $('img.contentslide').attr('src','images/hidecontentstd.png'); 
      slideState = "open";  

     } else { 
      $('img.contentslide').attr('src','images/showcontentstd.png'); 
      slideState = "closed"; 
     } 
}); 

slideStateは、DOM readyでclosedに設定されたブール型変数です。

私が問題に抱えているのは、ユーザーがボタンの上にカーソルを置くと、RELEVANTホバーイメージが表示されます(つまり、slideStateが開いているときはコンテンツのホバーを隠し、slideStateが閉じているときは表示コンテンツのホバーです)。 )。

私はこの次試してみた:http://www.foryourlungsonly.net/2007/10/jquery-image-swap/

しかし、運を持ちます。私はCSSのホバースを使用したくありません。

+0

'.click()'と同じテクニックを使用できないのはなぜですか( 'slideState'の値によって画像を選択します)? – JJJ

+0

@Juhana、私はごくわずかなjQuery(15人の学生であり、すべて...)を知っているので、それを実装する方法に関しては本当に賢明ではないでしょう。私はいくつかの方法を試みましたが、彼らは働いていませんでした。私が見たチュートリアルは、私の特定の問題に対処しているようです。 – Lukas

答えて

0

.click()で正しいイメージを選択したときに、.hover()イベントを使用した場合と同じことができます。

$('img.contentslide').hover(function() { 
     if (slideState == 'closed') { 
      $(this).attr('src','images/closedHover.png'); 
     } else { 
      $(this).attr('src','images/openHover.png'); 
     } 
    }, 
    function() { 
     if (slideState == 'closed') { 
      $(this).attr('src','images/closedNoHover.png'); 
     } else { 
      $(this).attr('src','images/openNoHover.png'); 
     } 
    } 
); 
+0

それは完璧に機能しました!ありがとう。当分の間、私はコピーして貼り付け、関連する画像ソースを変更しましたが、その仕組みを理解しようとします。もう一度、ありがとう。 – Lukas

関連する問題