簡體   English   中英

Javascript和Jquery PopUp窗口

[英]Javascript and Jquery PopUp window

所有人,我已經嘗試了一些教程來創建JavaScript或Jquery平滑PopUp窗口,但沒有任何效果。 我需要一個可以正常工作的代碼。 有任何想法嗎? 我需要一個平滑的彈出窗口,但我不知道該如何幫助別人? 我的HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">  
<head>  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
    <title>yensdesign.com - How to create a stuning and smooth popup in jQuery</title>  
    <link rel="stylesheet" href="general.css" type="text/css" media="screen" />  
    <script src="jquery-1.2.6.min.js" type="text/javascript"></script>  
    <script src="Popup.js" type="text/javascript"></script>  

</head>  
<body>  
    <center>  
        <a href="http://www.yensdesign.com"><img src="logo.jpg" alt="Go to yensdesign.com"/></a>  
        <div id="button"><input type="submit" value="Press me please!" /></div>  
    </center>  
    <div id="popupContact">  
        <a id="popupContactClose">x</a>  
        <h1>Title of our cool popup, yay!</h1>  
        <p id="contactArea">  
            Here we have a simple but interesting sample of our new stuning and smooth popup. As you can see jQuery and CSS does it easy...  
            <br/><br/>  
            We can use it for popup-forms and more... just experiment!  
            <br/><br/>  
            Press ESCAPE, Click on X (right-top) or Click Out from the popup to close the popup!  
            <br/><br/>  
            <a href="http://www.yensdesign.com"><img src="logo.jpg" alt="Go to yensdesign.com"/></a>  
        </p>  
    </div>  
    <div id="backgroundPopup"></div>  
</body>  
</html> 

我的Javascript文件:

<script type="text/javascript">
    //SETTING UP OUR POPUP  
//0 means disabled; 1 means enabled;  
var popupStatus = 0;
    //loading popup with jQuery magic!  
        alert(popupStatus);
    function loadPopup(){  
    //loads popup only if it is disabled  

    if(popupStatus==0){
        alert(popupStatus);
    $("#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({  
    "position": "absolute",  
    "top": windowHeight/2-popupHeight/2,  
    "left": windowWidth/2-popupWidth/2  
    });  
    //only need force for IE6  

    $("#backgroundPopup").css({  
    "height": windowHeight  
    });  

    }  
        $(document).ready(function(){  
    //following code will be here  
    //LOADING POPUP  
    //Click the button event!  
    $("#button").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 &amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp; popupStatus==1){  
    disablePopup();  
    }  
    });  

    });  


</script>  

我的CSS文件:

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,  
font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody,  
tfoot, thead, tr, th, td {  
border:0pt none;  
font-family:inherit;  
font-size:100%;  
font-style:inherit;  
font-weight:inherit;  
margin:0pt;  
padding:0pt;  
vertical-align:baseline;  
}  
body{  
background:#fff none repeat scroll 0%;  
line-height:1;  
font-size: 12px;  
font-family:arial,sans-serif;  
margin:0pt;  
height:100%;  
}  
table {  
border-collapse:separate;  
border-spacing:0pt;  
}  
caption, th, td {  
font-weight:normal;  
text-align:left;  
}  
blockquote:before, blockquote:after, q:before, q:after {  
content:"";  
}  
blockquote, q {  
quotes:"" "";  
}  
a{  
cursor: pointer;  
text-decoration:none;  
}  
br.both{  
clear:both;  
}  
#backgroundPopup{  
display:none;  
position:fixed;  
_position:absolute; /* hack for internet explorer 6*/  
height:100%;  
width:100%;  
top:0;  
left:0;  
background:#000000;  
border:1px solid #cecece;  
z-index:1;  
}  
#popupContact{  
display:none;  
position:fixed;  
_position:absolute; /* hack for internet explorer 6*/  
height:384px;  
width:408px;  
background:#FFFFFF;  
border:2px solid #cecece;  
z-index:2;  
padding:12px;  
font-size:13px;  
}  
#popupContact h1{  
text-align:left;  
color:#6FA5FD;  
font-size:22px;  
font-weight:700;  
border-bottom:1px dotted #D3D3D3;  
padding-bottom:2px;  
margin-bottom:20px;  
}  
#popupContactClose{  
font-size:14px;  
line-height:14px;  
right:6px;  
top:4px;  
position:absolute;  
color:#6fa5fd;  
font-weight:700;  
display:block;  
}  
#button{  
text-align:center;  
margin:100px;  
}  

讓我們保持簡單吧?

http://jsfiddle.net/TwLMD/1/

您的HTML很簡單。 兩個div,一個用於彈出窗口,另一個用於覆蓋屏幕。 添加了兩個按鈕,使我們可以單擊:

<div class="cover"></div>
<div class="popup">
    <button class="close">close</button>
</div>
<button class="open">click me</button>

CSS添加了一些基本樣式,但將它們放置在屏幕上的正確位置:

.popup 
{
    position:fixed;
    border:solid 1px black;
    width:200px;
    height:200px;
    left:50%;
    top:50%;
    margin:-100px 0 0 -100px;
    display:none;
    background-color:white;
}
.cover 
{
    background-color:black;
    width:100%;
    height:100%;
    display:none;
    position:fixed;
}

現在連接起來:

$(".open").click(function () {
    $(".popup").fadeIn(500);
    $(".cover").fadeTo(500, 0.5);
});

$(".close").click(function () {
    $(".popup").fadeOut(500);
    $(".cover").fadeOut(500);
});

您看過JQueryUI對話框嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM