FadeTo没有正常工作

时间:2014-07-31 19:36:54

标签: jquery jquery-ui fadeto

我的“小代码问题”无法按照我的意愿运行。我会先发布代码。

$(function() {

$(document).ready(function(){ 
    if( $( "#skillelementwithme" ).hasClass( "skillelement_collapsed" ) )
    {
        $( "#skillelementwithme" ).click(function() {
            $( "#skillelementwithme" ).toggleClass( "skillelement_active_withme", 500 );
            $( "#skillelementwithyou" ).fadeTo( 1000, 0 );
    });
    }
    else if (( "#skillelementwithme" ).hasClass( "skillelement_active_withme" ))
    {
        $( "#skillelementwithme" ).click(function() {
            $( "#skillelementwithme" ).toggleClass( "skillelement_collapsed", 500 );
            $( "#skillelementwithyou" ).fadeTo( 1000 , 1 );
    });
    }
})
});

现在虽然fadetotransparent工作得非常好,但我不能让“skillelementwithyou”课程淡出来变得不透明。也许我理解这些功能绝对错误。我希望你们能帮助我。可能它只是一个非常小的东西,我会恨自己。

1 个答案:

答案 0 :(得分:1)

http://jsfiddle.net/isherwood/pmX7z/

$(function () {
    $("#skillelementwithme").click(function () {
        $("#skillelementwithme")
            .toggleClass("skillelement_active_withme skillelement_collapsed");
        $("#skillelementwithyou").fadeToggle();
    });
});

您的一些错误:

$(function() {$(document).ready(function(){基本相同,因此您可以摆脱一个。

( "#skillelementwithme" )是一个无效的选择器(您错过了jQuery对象引用$)。

click()语句中包含if。在JS解析时,if将被读取,返回true的部分将允许访问包含.click()函数,而另一部分(false)将被忽略,从不无障碍。反之亦然(在if处理程序中传递click逻辑)有助于在检查每个点击事件的语句时保持事件的活动。

.toggleClass( "skillelement_collapsed", 500 ); toggleClass不接受时间参数。它不是动画。