单击 <a> 标记时,显示叠加层,如果选择“是”作为选项,则跟随 <a> 的 href URL
On click of an <a> tag, show an overlay and follow the href URL of <a> if Yes is selected as an option
我要求在单击锚标记时显示叠加层。如果从叠加选项中选择了肯定的"是"响应,则默认的<a>
标记行为应遵循href
链接在新窗口/当前窗口中打开。
我的jquery在点击标签时显示覆盖:
$('a.external-link').click(function() {
var popupid = "popuprel";
$('#' + popupid).fadeIn();
$('body').append('<div id="fade"></div>');
$('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn();
var popuptopmargin = ($('#' + popupid).height() + 10) / 2;
var popupleftmargin = ($('#' + popupid).width() + 10) / 2;
$('#' + popupid).css({
'margin-top' : -popuptopmargin,
'margin-left' : -popupleftmargin
});
return false;
});
是选项单击函数调用:
$('.link-continue').click(function() {
$('#fade , #popuprel').fadeOut()
});
<a class = "link-continue">YES</a>
目前单击"是"按钮时,覆盖层会关闭,但我应该如何将其重定向到 URL(所单击标签的"href"属性),该 URL("href"属性)作为我单击的链接的一部分存在。
首先,您应该将<a>
url保存在函数之外的全局变量中:
var linkBuffer;
$('a.external-link').click(function (e) {
//prevent browser to follow link
e.preventDefault();
//save link
linkBuffer = $(this).attr('href');
var popupid = "popuprel";
$('#' + popupid).fadeIn();
$('body').append('<div id="fade"></div>');
$('#fade').css({
'filter': 'alpha(opacity=80)'
}).fadeIn();
var popuptopmargin = ($('#' + popupid).height() + 10) / 2;
var popupleftmargin = ($('#' + popupid).width() + 10) / 2;
$('#' + popupid).css({
'margin-top': -popuptopmargin,
'margin-left': -popupleftmargin
});
});
因此,当您在弹出窗口中单击"是"时,只需更改窗口位置:
$('.link-continue').click(function () {
$('#fade , #popuprel').fadeOut();
document.location.href = linkBuffer;
});
<小时 />更新:
这是您的演示: http://jsfiddle.net/zur4ik/fzn4Z/
请注意,当您在确认窗口中单击"是"时,JSFiddle 将不允许加载不同的链接(当您单击"是"时,您可以在控制台中检查这一点),但它将在 JsFiddle 中工作。
我会$('.link-continue')
为样式像按钮的锚元素,它有指向建议导航的网址的链接,因此单击$('.link-continue')
将用户带到同一窗口中的新页面。如果要打开新窗口,请在单击$('.link-continue')
的侦听器中preventDefault
,并将window.open
用于相同的href
。
>如果#popupre1
包含<a class = "link-continue">YES</a>
您可以尝试像这样更改显示覆盖函数
$('a.external-link').click(function() {
var popupid = "popuprel";
$('#' + popupid).fadeIn().find('.link-continue').attr('href',$(this).attr('href'));
$('body').append('<div id="fade"></div>');
$('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn();
var popuptopmargin = ($('#' + popupid).height() + 10) / 2;
var popupleftmargin = ($('#' + popupid).width() + 10) / 2;
$('#' + popupid).css({
'margin-top' : -popuptopmargin,
'margin-left' : -popupleftmargin
});
return false;
});
选项点击功能未更改
而不是
document.location.href = linkBuffer;
用
window.open(linkBuffer,'_blank');
工作谢谢。
因此,单击"继续"按钮的代码变为:
$('.link-continue').click(function () {
$('#fade , #popuprel').fadeOut();
document.location.href = linkBuffer;
});
相关文章:
- 当用户在选择框中选择选项时,使用window.location.href重定向用户只会更改导航器中URL的最后一位
- 选项卡中的a href链接没有执行任何操作
- 正在从maphilight href加载Jquery选项卡
- 当之前不知道 href 时,在新选项卡中重定向
- 通过 JavaScript 链接 href 以单击选项卡中的按钮
- jQuery 无法访问元素及其 attr href // 简单的选项卡结构
- 来自 HREF 的新窗口/选项卡
- 单击 标记时,显示叠加层,如果选择“是”作为选项,则跟随 的 href URL
- 如何使用jQuery获取选定/活动选项卡的href
- 引导数据库数据切换在同时使用两个标签时不使用 href #home 选项卡
- 如何根据用户选择的选项更改链接 href(单击)
- 当选项卡使用数据目标而不是 href 时,引导选项卡不起作用
- 在 <选项> 标记中使用 href 链接链接到 URL
- 在 chrome 中模拟 href 以打开新选项卡,而不是窗口.不使用点击
- href指向未在同一页面上激活的引导程序导航选项卡的链接
- 将onClick函数绑定到选项卡的href属性函数
- 使用href-jquery动态删除选择选项值
- 突出显示菜单中具有href="#"“选项”;a“;标签
- 在没有href详细信息更改的链接上单击(Ctrl+Click)时,停止打开新选项卡
- 将href链接到其他页面选择的下拉选项值