0

我目前在我的网站上有以下代码:

$(document).ready(function() {
$("#contact").on("click", function(e)
{ 
    e.preventDefault();
    $("#contactform").toggle('fast');
});
});

我想要一个 if(isset($_GET['email')); 也触发此功能,因此如果设置了 $_GET 变量,则在页面加载时将其打开。

我对 Jquery 很陌生,不确定这是否可能,我还有另一个相关的问题,我不确定是否应该为此提出一个新问题,因为我对 stackoverflow 也很陌生,但是在这里它是。

假设我有两个:

$(document).ready(function() {
$("#contact").on("click", function(e)
{ 
    e.preventDefault();
    $("#contactform").toggle('fast');
});
});

$(document).ready(function() {
$("#archivestop").on("click", function(e)
{ 
    e.preventDefault();
    $("#archives").toggle('fast');
});
});

如果另一个打开,我想关闭一个,我该怎么做?

谢谢!

4

3 回答 3

2

这是Javascript解决方案:

function getParam(key) {
        var paramsStr = window.location.search.substr(1, window.location.search.length),
            paramsArr = paramsStr.split("&"),
            items     = [];

        for (var i = 0; i < paramsArr.length; i++) {
            items[paramsArr[i].split("=")[0]] = paramsArr[i].split("=")[1];
        }

        if (key != "" && key != undefined) {
            // return single
            if (items[key] != undefined) {
                return items[key];
            } else {
                return null;
            }
        } else {
            // return all (array)
            return items;
        }
    };

if (getParam("email")) { 
    //    ...
}
于 2013-09-15T19:36:49.190 回答
1

关于您的第二个问题,您可以使用以下内容来确定元素是否可见:

var bool = $('.foo').is(":visible");

所以要隐藏一个元素,如果它是可见的,你会做这样的事情:

if ($('.foo').is(":visible")) {
    $('.foo').hide();
}
于 2013-09-15T19:42:38.823 回答
0

我很傻,已经回答了我的第一个问题。我还没有喝咖啡。

以下工作,只需将其插入要显示的 div 中:

<div id="contactform" style="<?php if(isset($_POST['email'])) echo "display:block;" ?>">
content
</div>
于 2013-09-15T19:35:44.060 回答