Javascript jQuery上的多个实例在同一页面上弹出
我在我的网站上使用jQuery弹出窗口,希望在同一页面上有多个实例,但我不知道如何做到这一点 这是我正在使用的jsJavascript jQuery上的多个实例在同一页面上弹出,javascript,jquery,html,popup,Javascript,Jquery,Html,Popup,我在我的网站上使用jQuery弹出窗口,希望在同一页面上有多个实例,但我不知道如何做到这一点 这是我正在使用的js //SETTING UP OUR POPUP //0 means disabled; 1 means enabled; var popupStatus = 0; //loading popup with jQuery magic! function loadPopup(){ //loads popup only if it is disabled if(popup
//SETTING UP OUR POPUP
//0 means disabled; 1 means enabled;
var popupStatus = 0;
//loading popup with jQuery magic!
function loadPopup(){
//loads popup only if it is disabled
if(popupStatus==0){
$("#backgroundPopup").css({
"opacity": "0.7"
});
$("#backgroundPopup").fadeIn("slow");
$("#popupContact").fadeIn("slow");
popupStatus = 1;
}
}
//disabling popup with jQuery magic!
function disablePopup(){
//disables popup only if it is enabled
if(popupStatus==1){
$("#backgroundPopup").fadeOut("slow");
$("#popupContact").fadeOut("slow");
popupStatus = 0;
}
}
//centering popup
function centerPopup(){
//request data for centering
var windowWidth = document.documentElement.clientWidth;
var windowHeight = document.documentElement.clientHeight;
var popupHeight = $("#popupContact").height();
var popupWidth = $("#popupContact").width();
//centering
$("#popupContact").css({
"top": windowHeight/2-popupHeight/2,
"left": windowWidth/2-popupWidth/2
});
//only need force for IE6
$("#backgroundPopup").css({
"height": windowHeight
});
}
//CONTROLLING EVENTS IN jQuery
$(document).ready(function(){
//LOADING POPUP
//Click the button event!
$("#newboatbutton").click(function(){
//centering with css
centerPopup();
//load popup
loadPopup();
});
//CLOSING POPUP
//Click the x event!
$("#popupContactClose").click(function(){
disablePopup();
});
//Click out event!
$("#backgroundPopup").click(function(){
disablePopup();
});
//Press Escape event!
$(document).keypress(function(e){
if(e.keyCode==27 && popupStatus==1){
disablePopup();
}
});
});
这是我的HMTL
<div id="popupContact">
<a id="popupContactClose">x</a>
<?php
require 'newboat.php';
?>
</div>
<div id="backgroundPopup"></div>
x
所有这些都用这个按钮激活
<div id="newboatbutton" style="float: left; margin-top: 18px; margin-left: 15px;"><input type="submit" value="Add new Boat" /></div>
任何帮助都会有用的谢谢你 下面是一个很好的示例,说明如何重用函数。你可以在这里看到它的作用:这只是一个基本的例子,但应该给你一个很好的起点
<div id="popup1" style="display:none;">Popup 1</div>
<div id="popup2" style="display:none;">Popup 2</div>
<div id="popup3" style="display:none;">Popup 3</div>
<div id="myButton"><input type="button" value="Show Popup" /></div>
<script>
function loadPopup(popupId){
$("#" + popupId).fadeIn("slow");
}
$(document).ready(function(){
$("#myButton").click(function () {
if ($("#popup1").is(":hidden") && $("#popup2").is(":hidden") && $("#popup3").is(":hidden")) {
loadPopup("popup1");
}
else if ($("#popup1").is(":visible") && $("#popup2").is(":hidden") && $("#popup3").is(":hidden")) {
loadPopup("popup2");
}
else if ($("#popup1").is(":visible") && $("#popup2").is(":visible") && $("#popup3").is(":hidden")) {
loadPopup("popup3");
}
});
});
</script>
弹出窗口1
弹出窗口2
弹出窗口3
函数loadPopup(popupId){
$(“#”+popupId).fadeIn(“慢”);
}
$(文档).ready(函数(){
$(“#我的按钮”)。单击(函数(){
如果($(“#popup1”).is(“:hidden”)&&($(“#popup2”).is(“:hidden”)&&(“#popup3”).is(“:hidden”)){
loadPopup(“popup1”);
}
如果($(“#popup1”)是(“:可见的”)和($(“#popup2”)是(“:隐藏的”)和(“#popup3”)是(“:隐藏的”)){
loadPopup(“popup2”);
}
如果($(“#popup1”)是(“:可见的”)&&($(“#popup2”)是(“:可见的”)&&(“#popup3”)是(“:隐藏的”)){
loadPopup(“popup3”);
}
});
});
那么,你想在每次单击按钮时都显示一个新的弹出窗口,从而得到多个弹出窗口吗?@HowardRenollet否我想要它,这样我就可以多次使用弹出脚本,这样我就可以在同一页面上有两个弹出窗口(显示不同的内容),并将参数传递到弹出函数中。我将为您创建一个示例,您为什么不使用它呢?它简化了您的工作,不要重新发明在您的项目中使用jQuery alerady时,您可以使用jQuery.ui api