我怎样才能用jquery做一个循环?

Posted

技术标签:

【中文标题】我怎样才能用jquery做一个循环?【英文标题】:How can i make a loop with jquery? 【发布时间】:2021-10-25 02:59:10 【问题描述】:

我在 jquery 中做了这个,但它只能工作一次。如何制作循环并修复它?

$(function() 

    $('.bar-menu').on().click(function() 
        $('.header-menu-mobile ul').css('display', 'block');
        $('.form_mobile .search-bar input').css('margin-top', '-297px');
        $('.header_mobile .form_mobile .icon-search').css('margin-top', '-283px');
        $('.header_mobile .form_mobile .bar-menu').css('margin-top', '-295px');
        $(this).off().click(function() 
            $('.header-menu-mobile ul').css('display', 'none');
            $('.form_mobile .search-bar input').css('margin-top', '-72px');
            $('.header_mobile .form_mobile .icon-search').css('margin-top', '-59px');
            $('.header_mobile .form_mobile .bar-menu').css('margin-top', '-67px');
        );
    );
);

【问题讨论】:

你考虑过jQuery.each()迭代吗? 【参考方案1】:

off() 将删除 on() 事件处理程序。使用标志变量代替它。

$(function() 
    $('.bar-menu').on().click(function() 
        $(this).context.flag = !$(this).context.flag;
        if($(this).context.flag) 
            $('.header-menu-mobile ul').css('display', 'block');
            $('.form_mobile .search-bar input').css('margin-top', '-297px');
            $('.header_mobile .form_mobile .icon-search').css('margin-top', '-283px');
            $('.header_mobile .form_mobile .bar-menu').css('margin-top', '-295px');
         else 
            $('.header-menu-mobile ul').css('display', 'none');
            $('.form_mobile .search-bar input').css('margin-top', '-72px');
            $('.header_mobile .form_mobile .icon-search').css('margin-top', '-59px');
            $('.header_mobile .form_mobile .bar-menu').css('margin-top', '-67px');
        
    );
);

【讨论】:

以上是关于我怎样才能用jquery做一个循环?的主要内容,如果未能解决你的问题,请参考以下文章