Jquery,循环其他点击而不是第一次点击

标签 jquery css

所以我有一些代码,其目的是使用 .load() 加载一个类似 facebook 的盒子。

代码的工作原理是:Onclick 检查是否隐藏。如果没有,则 .load 然后 .toggleOnclick 再次检查 div 是否可见,如果可见,则 .toggle 隐藏。

现在 div 已隐藏,它将再次运行代码的第一部分。我想阻止这种情况,并在第一次点击后运行 else 函数。

这怎么可能通过开关实现?

$(".facebook-f").click(function () {
"use strict";
if ($('.facebook-content').css('display') == 'none') {
    $('.fb-loader-content').addClass('loader');
    $('.facebook-content').load("http://www.google.com", function () {
        console.log('loader will be removed');
        $('.fb-loader-content').removeClass('loader');
    });
    $('.facebook-content').toggle();
} else {
    $('.facebook-content').toggle();
}

});

Here is a link to the jsfiddle .

最佳答案

使用计数器。因此在第一次点击后,它会将计数器更改为 2,从而导致 else 条件从现在开始运行。

$(".facebook-f").click(function () {
"use strict";
var counter = 1;  // added this
if ($('.facebook-content').css('display') == 'none' && counter === 1) {  // added another condition here
    $('.fb-loader-content').addClass('loader');
    $('.facebook-content').load("http://www.google.com", function () {
        console.log('loader will be removed');
        $('.fb-loader-content').removeClass('loader');
        counter += 1; // update the counter so it changes to 2 causing the else to run the next times
    });
    $('.facebook-content').toggle();
} else {
    $('.facebook-content').toggle();
}
});

关于Jquery,循环其他点击而不是第一次点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22073748/

相关文章:

javascript - jQuery - 选择单选按钮并填充文本字段时显示 div

jquery - 重置表单输入的默认行为

javascript - 在 IFrame 中运行 Skrollr

html - 禁用 IE8 输入字段中的清除按钮

html - 为什么我的下拉菜单只允许我单击菜单中的第一项?

javascript - 如何在按下 div 时将其动画化到右侧,然后在再次按下时使用 jQuery 将其返回到第一个位置?

jquery - 我收到错误,因为 $ 不是函数

jquery - 需要使用 jQuery 在 CheckboxGroup 中进行选择

html - 更改导航栏CSS中按钮的宽度

python - 我如何根据使用 to_html 从 pd.DataFrame 生成的 HTML 表的值更改颜色