为什么我不能将jquery css与jquery事件结合起来



我试图使侧边栏永久隐藏,直到带有淡入事件的 .click 事件处理程序被触发,并且此栏的文本应该向下滑动(速度为 500)。不幸的是,我尝试了又尝试,并在谷歌上搜索了很多这些功能/事件处理程序?但无法弄清楚如何按照希望的方式完成这项工作。id #about 是侧边栏,id #about_me 是应该触发事件的列表项,id#about_profile 是侧边栏的内容。现在回到主要内容,这里是代码:

//second js code .css('visibility','hidden')
$('#about').css('visibility','hidden')
$("#about_me").click(function(){
    $("#about").fadeIn(500);
    $('#about_profile').slideDown(200)({
        });
    });

我的第二个问题是,为什么这个事件没有发生? 以下代码:

    $('#about').css('visibility','hidden',function(){
    $("#about_me").click(function(){
        $("#about").fadeIn(500);
        $('#about_profile').slideDown(200)({
    });
});

谢谢你的帮助亲切问候

ps:我甚至搜索了堆栈溢出AQL(提问库)

jQuery .css方法不接受回调,它是同步的,这意味着它实际上不需要回调参数。您的第一个代码段是执行此操作的正确方法。

$('#about').css('visibility','hidden');
$("#about_me").click(function(){
    $("#about").fadeIn(500);
    $('#about_profile').slideDown(200);
});
$('#about').css('visibility','hidden');
$("#about_me").click(function(){
     $("#about").fadeIn(500);
     $('#about_profile').slideDown(200);
});

这应该可以做到。

尝试$('#about').hide();而不是$('#about').css('visibility','hidden');

我相信

fadeIn 将显示属性设置为阻止并且不会更改可见性属性...你最好使用css('display', 'none')或更好的.hide(),正如有人已经建议的那样。文档在这里:http://api.jquery.com/fadeIn/,在评论中提到了"显示:无"问题。

最新更新