javascript image rollover

孤者浪人 提交于 2019-12-11 07:04:52

问题


Hi I have a question about image rollover but it's not how you'd think.

I've seen an example http://www.asos.com/ and click the home button(top nav far left)

You can see that when you rollover an image that image stays highlighted and the others darken.

I know this has been done with jquery but the code is very messy. Has anyone seen this before or knows how to do it?

Thanks


回答1:


Fast solution (it can be tuned shorter i guess):

<div class="images">
    <img src="http://www.google.com/google.jpg" />
    <img src="http://www.google.com/google.jpg" />
    <img src="http://www.google.com/google.jpg" />
    <img src="http://www.google.com/google.jpg" />
</div>

<script type="text/javascript">
$().ready(function(){
    $('.images img').hover(
        function(){
            $(this).parents('.images').find('img').not(this).animate({"opacity": "0.3"}, 200);
            $(this).animate({"opacity": "1"}, 200);
        }, 
        function(){
            $(this).animate({"opacity": "1"}, 200);
        }
    );
$('.images').bind('mouseleave',function(){$(this).find('img').animate({"opacity": "1"}, 200);});
});



回答2:


First of all: Firebug is your friend. The technique employed is simpler than one might think: They just reduce the images' opacity to 0.3. As the background is black, the images appear darkened. So the code might look something like this:

$('img.fade').live('mouseover', function (e) {
    var $this = $(this).fadeTo(500, 1.0);
    $('img.fade').not($this).fadeTo(500, .3);
);
$('img.fade').live('mouseout', function (e) {
    var $this = $(this);
    $('img.fade').not($this).fadeTo(500, 1.0);
);


来源:https://stackoverflow.com/questions/1887432/javascript-image-rollover

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!