如何再次启动功能
How to function fire up again?
我有这个功能,一切都很好,我不能再启动它了。只能做一次,有什么问题?谢谢你的帮助。
$('.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');
});
});
相关文章:
- 如何防止网页加载后自动启动功能
- 自定义HTML5视频控件-退出按钮不会启动全屏切换功能
- 重新启动游戏jQuery功能不工作
- 使用触摸启动导航下拉菜单,以实现 IOS 功能
- 使用具有同步和启动功能的弹性滑块时出现问题
- 如何再次启动功能
- 自动完成功能未启动
- 悬停几秒钟后启动功能
- 用于启动视频的功能
- 当滚动到指定的位置时,启动功能,如何重置它并重新启动,如果我们再次回到这个位置
- 如何调用计时器中的启动和停止功能
- 只有在前一个功能成功完成的情况下,我才能正确地启动此功能
- npm具有“;“开始”;启动nuget作为包管理器无法完成的功能
- 按钮点击功能启动两次
- 如何为停止/启动设置间隔功能仅设置一个键
- 当您滚动到特定页面位置时,如何执行此操作,该功能将启动一次
- 在谷歌地图自动补充之后启动一个功能
- 仅在加载活动类图像时启动功能 - Twitter 引导轮播
- Img正在阻止悬停功能启动
- 使用角度门架时,阻止事件/功能启动