javascript - jQuery 单击处理程序表现得很奇怪

标签 javascript jquery fadein fade fadeout

我的脚本中有这行代码

$(document).ready(function(){
    $('#faye').click(function() {
        $('#fayebig').fadeIn(1000);
    })
    $('#faye').click(function() {   
        $('#fayebig').fadeOut(500);

    });

我的目标是当我点击#faye 时,#fayebig 应该出现(确实如此),当你再次点击#faye 时,#fayebig 应该消失。

但我的代码所做的是,当我点击#faye 时,#fayebig 淡入然后再次淡出,就像脚本在整个过程中运行而不让我再次点击让它淡出。

希望你能理解我的意思,处理这个问题应该相当容易,我显然只是在用这个来解决问题。

最佳答案

使用fadeToggle()否则两个会同时发生

$(document).ready(function(){
    $('#faye').click(function() {
        $('#fayebig').fadeToggle(1000);
    });
});

在使用 fadeToggle 时,它会在 fadeInfadeOut 之间切换

如果你想要每个淡入淡出的持续时间不同,那么使用

$(document).ready(function(){
    $('#faye').click(function() {
        $('#fayebig').fadeToggle(function(){ return $(this).is(':visible') ? 500 : 1000});
    });
});

关于javascript - jQuery 单击处理程序表现得很奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21606969/

相关文章:

javascript - 在javascript中读取JSON数据

javascript - 检测文件输入对话框是否打开

javascript - Javascript 中有复制构造函数吗?

php - jquery pjax 与 php。重新加载时没有内容

javascript - 极简主义的微型 Javascript 模板系统?

javascript - Jquery 路点淡入和动画

javascript - 类的默认方法

javascript - 基于 jQuery 模糊的检查并将结果打印到 codeigniter 中的 View

java - 寻找更好的方法让JLabel淡入/淡出

javascript - 使用 jQuery 对数组中的元素进行动画处理