没有 UI 的 jquery fadeIn 类解决方法

Posted

技术标签:

【中文标题】没有 UI 的 jquery fadeIn 类解决方法【英文标题】:jquery fadeIn class workaround without UI 【发布时间】:2012-01-09 22:28:52 【问题描述】:

我似乎无法从这段代码中获取我需要的东西并让它为自己工作,希望有人能提供帮助。

我不能使用 Jquery UI 并且使悬停比他们需要的要困难得多。我有一个精灵,我需要淡入和淡出悬停。 .css() 不允许淡入淡出,它是一个被 bg 位置调用的精灵

我的计划是在鼠标进入/离开或悬停时添加/删除一个类。这部分很容易,获得缓动效果则不然。这是他们的代码。我如何使用这样的东西来添加和删除一个类,以便我可以淡入它来伪造动画/定时悬停?

$(".nav").children("li").each(function() 
        var current = "nav current-" + ($(this).attr("class"));
        var parentClass = $(".nav").attr("class");
        if (parentClass != current) 
            $(this).children("a").css(backgroundImage:"none");
        
    ); 


    // create events for each nav item
    attachNavEvents(".nav", "home");
    attachNavEvents(".nav", "about");
    attachNavEvents(".nav", "services");
    attachNavEvents(".nav", "contact");


    function attachNavEvents(parent, myClass) 
        $(parent + " ." + myClass).mouseover(function() 
            $(this).append('<div class="nav-' + myClass + '"></div>');
            $("div.nav-" + myClass).css(display:"none").fadeIn(200);
        ).mouseout(function() 
            // fade out & destroy pseudo-link
            $("div.nav-" + myClass).fadeOut(200, function() 
                $(this).remove();
            );
        );
    

我使用的 css 只是这样的:

.btn_up 
width: 161px;
height: 40px;
background-position: -131px -310px;
margin:10px auto;


.btn_uphover
background-position: -292px -310px !important;
-moz-opacity:0; 
filter:alpha(opacity=0); 
opacity:0;

【问题讨论】:

【参考方案1】:

虽然我无法提供所需的确切代码。 我认为您正在寻找 jQuery .animate 函数。 更多信息在这里:

http://api.jquery.com/animate/

你可以用这个功能做一些非常酷的事情,我相信你可以在使用后得到你的效果。尝试为不透明度设置动画。

【讨论】:

以上是关于没有 UI 的 jquery fadeIn 类解决方法的主要内容,如果未能解决你的问题,请参考以下文章

fadeIn 和 fadeOut 的 jquery 问题

JQuery:以允许 .fadeIn() 工作的方式隐藏启动对象

JQuery fadeIn 没有在 Chrome 上完全淡入

jQuery元素不透明度随时间逐渐淡入(没有fadeIn();)

使用 jQuery 同时向下滑动 div 和 .fadeIn() 内容,反之亦然?

IE中使用jquery的fadeIn()失效的问题