不允许立即显示所有弹出窗口,只需打开一个弹出窗口 onclick
Don't allow to show all popups immediately just one popup must be opened onclick
这是我的小提琴:http://jsfiddle.net/b0qb37f4/6/
你可以在那里看到我的代码。我的问题是这样的:我有 4 个 link 并且单击它们中的每一个都会打开相应的弹出窗口,但我不能允许立即显示很多弹出窗口只必须打开一个弹出窗口,所以单击其中一个 link 必须打开它的弹出窗口,但是当用户点击其他点击时,点击事件应该被禁用。
在我的代码中我使用了 .off('click')
但在关闭弹出窗口后 link 仍然被禁用。请帮我解决这个问题。
你可以做一个更简单的解决方案:
将您的代码更改为以下代码并将 "popup" class 添加到您的 div:
JS:
$(document).ready(function(){
$("a.fp").click(function(){
$(".popup").hide();
$("div.fp").fadeIn();
});
$("a.sp").click(function(){
$(".popup").hide();
$("div.sp").fadeIn();
});
$("a.tp").click(function(){
$(".popup").hide();
$("div.tp").fadeIn();
});
$("a.ftp").click(function(){
$(".popup").hide();
$("div.ftp").fadeIn();
});
});
HTML:
<a class="fp">First popup | </a>
<a class="sp">Second popup | </a>
<a class="tp">Third popup | </a>
<a class="ftp">Fourth popup</a>
<div class="popup fp">Hi, this is first popup content.<span>X</span></div>
<div class="popup sp">Hi, this is second popup content.<span>X</span></div>
<div class="popup tp">Hi, this is third popup content.<span>X</span></div>
<div class="popup ftp">Hi, this is fourth popup content.<span>X</span></div>
编辑最新问题:
当您使用此伪选择器检查弹出窗口当前是否可见时,您可以抑制该功能:
$("a.fp").click(function(){
if($('.popup:visible').length > 0)
return; // do nothing
$(".popup").hide();
$("div.fp").fadeIn();
});
代码中的 .off('click')
函数从元素中删除了点击事件。这就是链接被禁用的原因。添加和删除事件侦听器 .on() .off()
很复杂。更容易确保每次打开新弹出窗口时旧弹出窗口都会关闭。添加 .popup
class 将是第一步。我更新了你的 fiddle:http://jsfiddle.net/2j1obh92/
jQuery
jQuery(document).ready(function(){
jQuery("a.fp").click(function(){
jQuery(".popup").hide();
jQuery(".first").fadeIn();
});
jQuery("a.sp").on('click', function(){
jQuery(".popup").hide();
jQuery(".second").fadeIn();
});
jQuery("a.tp").on('click', function(){
jQuery(".popup").hide();
jQuery(".third").fadeIn();
});
jQuery("a.ftp").on('click', function(){
jQuery(".popup").hide();
jQuery(".fourth").fadeIn();
});
// Hide the popup if the X gets clicked
jQuery(".popup span").on('click', function(){
jQuery(".popup").hide();
});
});
HTML
<a class="fp">First popup | </a>
<a class="sp">Second popup | </a>
<a class="tp">Third popup | </a>
<a class="ftp">Fourth popup</a>
<div class="popup fp">Hi, this is first popup content.<span>X</span></div>
<div class="popup sp">Hi, this is second popup content.<span>X</span></div>
<div class="popup tp">Hi, this is third popup content.<span>X</span></div>
<div class="popup ftp">Hi, this is fourth popup content.<span>X</span></div>
这是我的小提琴:http://jsfiddle.net/b0qb37f4/6/
你可以在那里看到我的代码。我的问题是这样的:我有 4 个 link 并且单击它们中的每一个都会打开相应的弹出窗口,但我不能允许立即显示很多弹出窗口只必须打开一个弹出窗口,所以单击其中一个 link 必须打开它的弹出窗口,但是当用户点击其他点击时,点击事件应该被禁用。
在我的代码中我使用了 .off('click')
但在关闭弹出窗口后 link 仍然被禁用。请帮我解决这个问题。
你可以做一个更简单的解决方案:
将您的代码更改为以下代码并将 "popup" class 添加到您的 div:
JS:
$(document).ready(function(){
$("a.fp").click(function(){
$(".popup").hide();
$("div.fp").fadeIn();
});
$("a.sp").click(function(){
$(".popup").hide();
$("div.sp").fadeIn();
});
$("a.tp").click(function(){
$(".popup").hide();
$("div.tp").fadeIn();
});
$("a.ftp").click(function(){
$(".popup").hide();
$("div.ftp").fadeIn();
});
});
HTML:
<a class="fp">First popup | </a>
<a class="sp">Second popup | </a>
<a class="tp">Third popup | </a>
<a class="ftp">Fourth popup</a>
<div class="popup fp">Hi, this is first popup content.<span>X</span></div>
<div class="popup sp">Hi, this is second popup content.<span>X</span></div>
<div class="popup tp">Hi, this is third popup content.<span>X</span></div>
<div class="popup ftp">Hi, this is fourth popup content.<span>X</span></div>
编辑最新问题:
当您使用此伪选择器检查弹出窗口当前是否可见时,您可以抑制该功能:
$("a.fp").click(function(){
if($('.popup:visible').length > 0)
return; // do nothing
$(".popup").hide();
$("div.fp").fadeIn();
});
代码中的 .off('click')
函数从元素中删除了点击事件。这就是链接被禁用的原因。添加和删除事件侦听器 .on() .off()
很复杂。更容易确保每次打开新弹出窗口时旧弹出窗口都会关闭。添加 .popup
class 将是第一步。我更新了你的 fiddle:http://jsfiddle.net/2j1obh92/
jQuery
jQuery(document).ready(function(){
jQuery("a.fp").click(function(){
jQuery(".popup").hide();
jQuery(".first").fadeIn();
});
jQuery("a.sp").on('click', function(){
jQuery(".popup").hide();
jQuery(".second").fadeIn();
});
jQuery("a.tp").on('click', function(){
jQuery(".popup").hide();
jQuery(".third").fadeIn();
});
jQuery("a.ftp").on('click', function(){
jQuery(".popup").hide();
jQuery(".fourth").fadeIn();
});
// Hide the popup if the X gets clicked
jQuery(".popup span").on('click', function(){
jQuery(".popup").hide();
});
});
HTML
<a class="fp">First popup | </a>
<a class="sp">Second popup | </a>
<a class="tp">Third popup | </a>
<a class="ftp">Fourth popup</a>
<div class="popup fp">Hi, this is first popup content.<span>X</span></div>
<div class="popup sp">Hi, this is second popup content.<span>X</span></div>
<div class="popup tp">Hi, this is third popup content.<span>X</span></div>
<div class="popup ftp">Hi, this is fourth popup content.<span>X</span></div>