2012-03-26 19 views
0

Ich habe einige Bild-Links, die Deckkraft bei Rollover mit Jquery ändern. Ich möchte auch die Deckkraft der "inaktiven" Bilder ändern, wenn sie angeklickt werden und die aktive Klasse des vorherigen Bildes entfernen. Vielleicht haben einige Code zu demonstrieren:schweben Opazität und klicken Sie auf Opazität

html:

<div style="width:940px; text-align:center; padding-bottom:10px;"> 
    <a href="#" class="nobase" onClick='jQuery("#youtube-player-container").tubeplayer("play", "adI8ZRzjnlE");'> 
     <img class="active" src="images/video_thumbs/003.jpg" width="300" height="167" alt="La Vie en Couleur"> 
    </a> 
    <a href="#" class="nobase" onClick='jQuery("#youtube-player-container").tubeplayer("play", "5L1vrwEvP-c");'> 
     <img class="inactive" src="images/video_thumbs/001.jpg" width="300" height="167" alt="A Holiday Video"> 
    </a> 
    <a href="#" class="nobase" onClick='jQuery("#youtube-player-container").tubeplayer("play", "ijfgzId6jdI");'> 
     <img class="inactive" src="images/video_thumbs/002.jpg" width="300" height="167" alt="La Vie en Couleur"> 
    </a> 
</div> 

JQuery

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("img.inactive").hover(function() { 
      $(this).stop().animate({ 
       "opacity": "1" 
      }, "slow"); 
     }, function() { 
      $(this).stop().animate({ 
       "opacity": "0.6" 
      }, "slow"); 
     }); 
    }); 
</script> 

css:

.inactive {opacity:0.6;} 
.active {opacity:1.0;} 

so dass im Grunde ist es das, was ich auf Roll wollen, aber ich will um die aktive Klasse auch bei Klick zu wechseln.

+0

Warum verwenden Sie Inline-JavaScript (d. H. 'OnClick'), wenn Sie jQuery zu Ihrer vollen Verfügung haben? Warum hast du noch '.addClass()' und '.removeClass()' noch nicht ausprobiert? http://api.jquery.com/addClass/ – Sparky

+0

Ich benutze es inline, weil das Video, das es spielt, für jeden Link anders ist. also ist es besser/möglich, es aus dem normalen javascript heraus zu tun? – Sackling

Antwort

2

ich glaube, Sie das meiste davon in plain ol CSS tun können

selector:hover{} 

selector:active{} 

oder Sie können diese für

$('elm').bind({'click':action,'hover':action}); 

function action(e){ 
$(e.currentTarget).doSomething(); 
} 
+0

Er macht das schon mit jQuery und er fragt, _ "aber ich möchte die aktive Klasse auch beim Klick wechseln" _ – Sparky

0

tun, was ich verstanden, Sie wollen die Klasse ändern. können Sie in beiden Hover-Funktionen verwenden:

element.toggleClass('className') 

oder können Sie explizit entfernen oder schließen die Klasse, die Sie wollen:

element.removeClass('className') 
element.addClass('className') 

Ich hoffe, dass das, was Sie wollen. =]

+0

Kinda sorta. Eines der 3 Bilder beginnt als aktiv und das andere 2 inaktiv. Außerdem muss ich einen Klick hinzufügen anstatt zu schweben. und ich muss die aktive Klasse aus dem ursprünglichen aktiven entfernen .. – Sackling