如何再次启动功能

How to function fire up again?

本文关键字:功能 启动 何再次      更新时间:2023-09-26

我有这个功能,一切都很好,我不能再启动它了。只能做一次,有什么问题?谢谢你的帮助。

$('.bottom_panel_button_05').one('click', function(){
    $(this).css(
        'background-image','url("img/bottom_panel_icons/ap_bottom_panel_back_button_01_135_on.png")',
        'background-position','center center no-repeat'
    ).addClass('panel_blocked');
    $(this).one('click', function(){
        $(this).css(
            'background-image','url("img/bottom_panel_icons/ap_bottom_panel_back_button_01_135.png")',
            'background-position','center center no-repeat'
        ).removeClass('panel_blocked');
    });
});

你使用的是函数.one()而不是.on()(或.delegate(),在旧的jQuery版本中.live()/.bind())。

    $('.bottom_panel_button_05').on('click', function(){
      if (!$(this).hasClass('panel_blocked')) {
        $(this).css({
          'background-image': 'url("img/bottom_panel_icons/ap_bottom_panel_back_button_01_135_on.png")',
          'background-position': 'center center no-repeat'
        }).addClass('panel_blocked');
      } else {
        $(this).css({
          'background-image': 'url("img/bottom_panel_icons/ap_bottom_panel_back_button_01_135.png")',
          'background-position': 'center center no-repeat'
        }).removeClass('panel_blocked');
      }
    });

看起来您正在尝试切换按钮,在这种情况下,您可以简化代码:

$('.bottom_panel_button_05').on('click', function (){
    var that = $(this);
    if (that.hasClass('panel_blocked') {
        that.css(
            'background-image','url("img/bottom_panel_icons/ap_bottom_panel_back_button_01_135.png")'
        ).removeClass('panel_blocked');
    } else {
        that.css(
            'background-image','url("img/bottom_panel_icons/ap_bottom_panel_back_button_01_135_on.png")'
        ).addClass('panel_blocked');
    }
});

您真正要做的就是将'_on'切换到图像名称的末尾,并根据元素是否具有该类来切换类,一种简单的方法是:

$('.bottom_panel_button_05').on('click', function (){
    var Is = $(this).is('.panel_blocked');
    $(this).css('background-image','url("img/bottom_panel_icons/ap_bottom_panel_back_button_01_135'+(Is?'':'_on')+'.png")')
           .toggleClass('panel_blocked', !Is);
});​

one更改为live

$('.bottom_panel_button_05').live('click', function(){
    $(this).css(
        'background-image','url("img/bottom_panel_icons/ap_bottom_panel_back_button_01_135_on.png")',
        'background-position','center center no-repeat'
    ).addClass('panel_blocked');
    $(this).live('click', function(){
        $(this).css(
            'background-image','url("img/bottom_panel_icons/ap_bottom_panel_back_button_01_135.png")',
            'background-position','center center no-repeat'
        ).removeClass('panel_blocked');
    });
});