jQuery:如何淡出不经常使用的div列表,以及在鼠标悬停时淡入?

时间:2010-01-27 21:11:50

标签: jquery settimeout fadein fadeout fadeto

假设你在网页上有很多元素你没有用多少,jQuery如何淡化它们,但只有在没有鼠标悬停的情况下?它必须在鼠标悬停时淡出!

4 个答案:

答案 0 :(得分:1)

我解决了这个问题:

//list the items you want to fade out in normal selector format
var arr = [ "#navTop","#banner","#idViewToolbar","#fbsidebar","#idActionP","table.noBorder" ];


//delay function by Clint Helfers
$.fn.delay = function( time, name ) {

    return this.queue( ( name || "fx" ), function() {
        var self = this;
        setTimeout(function() { $.dequeue(self); } , time );
    } );

};

$.each( arr, function(i, l){
   jQuery(l).fadeTo(600, 0.10);
   jQuery(l).mouseenter(function(){
        jQuery(this).fadeTo(600, 1);
    });

       jQuery(l).mouseleave(function(){
        jQuery(this).delay(5000).fadeTo(600, 0.10);
    });

 });

我实际上将它用于FogBugz - 它们有一个插件,可以让你将自己的CSS + Javascript插入到页面中,我用它来淡出大部分内容,但我正在处理的bug /功能列表。

答案 1 :(得分:0)

如果您不需要动画内容,可以使用:hover psoudo选择器使用纯css执行此操作,但在jquery中还有一个.hover()方法,它将帮助您实现此效果。像这样:$('.my_less_used_divs').hover(fadeInFunction, fadeOutFunction);

答案 2 :(得分:0)

实际上将antpaw推荐的代码放入代码中。执行以下操作。

$(".my_less_used_divs").hover(function() {
    $(this).css("opacity", 1);
}, function() {
    $(this).css("opacity", .5);
}).css("opacity", .5);

如果你愿意,你应该给antpaw接受的答案。

答案 3 :(得分:0)

$(".divfade").hover(function() {
    $(this).fadeTo("slow", 1);
}, function() {
    $(this).fadeTo("slow" , .5);
}).css("opacity", .5);

此代码确实淡入淡出。