2012-03-17 125 views
1

HY一切,我tryed使用如参见教程这个代码,但它并没有work..any想法可能是问题创建平滑JavaScript弹出菜单

我的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> 

我的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; 
} 

我的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> 

我通常对js文件的问题时,我直接从源复制的,所以我不知道该怎么办

+0

你得到什么错误? – Milap 2012-03-17 08:44:35

+0

我得到语法错误:\t if(popupStatus == 0){用指向if..i不知道为什么 – 2012-03-17 08:46:50

+0

我测试了我的代码并且它的工作完美,请检查它。 – Milap 2012-03-17 09:00:28

回答

1

将您的代码替换为我的代码。

  • 您的JavaScript代码中有语法错误。

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr"> 
<head> 
    <meta name="generator" content= 
    "HTML Tidy for Linux/x86 (vers 11 February 2007), see www.w3.org" /> 
    <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> 

    <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> 
    <style type="text/css"> 
/*<![CDATA[*/ 
    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; 
    } 
    /*]]>*/ 
    </style> 
</script> 
    <script type="text/javascript"> 
//<![CDATA[ 
    //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 && popupStatus==1){ 
    disablePopup(); 
    } 
    }); 

    }); 


    //]]> 
    </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" name="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> 
+0

我感谢你...... IT工作!谢谢你的时间 – 2012-03-17 09:24:24

0

简单地从Popup.js

删除标签

<script type="text/javascript"> 
... 
</script> 

和替换

&amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp; 

&& 
+0

谢谢你的工作:)谢谢你的时间 – 2012-03-17 09:24:50

0

替换此(它在底部):

//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(); 
    } 
    }); 

有了这个:

//Press Escape event! 
$(document).keypress(function(e) { 
    if (e.keyCode == 27 && popupStatus == 1) { 
     disablePopup(); 
    } 
}); 

而且在popup.js删除<script type="text/javascript"></script>

+0

谢谢你的工作:D谢谢你的时间 – 2012-03-17 09:25:05