4 に答える
<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
});
});
したがってYes、ポップアップをクリックすると、ウィンドウの場所を変更するだけです:
$('.link-continue').click(function () {
$('#fade , #popuprel').fadeOut();
document.location.href = linkBuffer;
});
アップデート:
ここにデモがあります: http://jsfiddle.net/zur4ik/fzn4Z/
確認ウィンドウで [はい] をクリックすると、JSFiddle は別のリンクの読み込みを許可しないことに注意してくださいYes([コンソール] をクリックすると、これをコンソールで確認できます)。
それ以外の
document.location.href = linkBuffer;
使用して
window.open(linkBuffer,'_blank');
ありがとうございました。
したがって、[続行] ボタンをクリックするためのコードは次のようになります。
$('.link-continue').click(function () {
$('#fade , #popuprel').fadeOut();
document.location.href = linkBuffer;
});
#popupre1
含まれている場合は<a class = "link-continue">YES</a>
、次のように Show overlay 関数を変更してみてください
$('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;
});
オプションクリック機能は変更なし
ボタンのよう$('.link-continue')
なスタイルのアンカー要素として、ナビゲートするために提案されたURLへのリンクがあるので、クリックする$('.link-continue')
と同じウィンドウの新しいページにユーザーが移動します。新しいウィンドウを開きたい場合はpreventDefault
、 のクリック リスナーで同じ$('.link-continue')
を使用します。window.open
href