Javascript Jquery setTimeout。在超时后需要弹出窗口淡出

时间:2013-06-04 04:16:23

标签: javascript jquery settimeout

我正在使用以下代码显示弹出窗口:

function validatePlaces()
{
    $(document).ready(function(){
        //open popup
        $("#pop").ready(function(){
            $("#overlay_form").fadeIn(1000);
            positionPopup();
        });

        //close popup
        $("#close").click(function(){
            $("#overlay_form").fadeOut(4500);
        });
    });

    //position the popup at the center of the page
    function positionPopup()
    {
        if(!$("#overlay_form").is(':visible'))
        {
            return;
        }
        $("#overlay_form").css({
            left: ($(window).width() - $('#overlay_form').width()) / 2,
            top: ($(window).width() - $('#overlay_form').width()) / 7,
            position:'absolute'
        });
    }
    //maintain the popup at center of the page when browser resized
    $(window).bind('resize',positionPopup);


    var placeValue = document.getElementById("form1:placeId").value;
    var countryValue = document.getElementById("form1:countryId").value;
    var continentValue = document.getElementById("form1:continentId").value;

    if(placeValue=="Name Of Places?"||placeValue==" ")
    {
        //alert("Please enter your search place name... ");
        pop(); 
        return false;
    }


    return true;
}

问题:页面会自动刷新,弹出窗口很快就会消失,所以我需要设置一个setTimeout。或者如果有任何其他解决方案请提供请帮忙......

页面自动刷新......我不知道为什么......

使用弹出表单代码:

<form id="overlay_form" style="display:none; opacity:0.8; background-color: gray; border-
    radius:10px; height:65px; margin-top: 12%; width:350px;"> 
    <img border="0" src="../../resources/images/error.png" alt="" width="30" height="22"/> 
    <p style="font-family:times new roman ; font-size:18px; color: white;"> 
       Enter your search place name...</p> 
    <a href="#" id="close" style="color: black;"><b>Close</b></a> 
</form>

2 个答案:

答案 0 :(得分:0)

使用List.js时遇到了类似的问题,在点击排序后,页面会立即刷新。几个小时后,我尝试将我的表单元素更改为div并修复它。我认为它表现得好像已经提交或其他什么。我知道它已经很晚了,但是请尝试将表格改为div。它会使页面不再刷新。

答案 1 :(得分:-1)

//5000 is the time in mili seconds after which you want to hide the popup
$("#overlay_form").fadeIn(1000).delay(5000).fadeOut(1000);