jQuery fadeToggle()错误

时间:2015-01-31 11:35:08

标签: javascript jquery

所以,我创建了一个登录页面,然后是主页面。我不希望人们在登录后被重定向到主页面,所以我使用了

$("#login").click(function(){
    $.post("homepage.php",function(data){
        var title = data.slice(data.indexOf("<title"),data.indexOf("</title>"));
        $("html").html(data);
        window.history.pushState(data,title,"/homepage.php");
    });
});

这很有效,但错误是在homepage.php我有

$("#something").click(function(){
    $("#something-else").fadeToggle();
});

并且它不起作用,它会引发异常

VM8714:3 Uncaught TypeError: Cannot read property 'style' of undefined

但我查了一下,点击事件开始了,我做了

 $("#something").click(function(){
    var display = document.getElementById("something-else").style.display;
    if(display == "none") {
        document.getElementById("something-else").style.display = "block";
    }
    else {
        document.getElementById("something-else").style.display = "none";
    }
 });

这很有效。任何想法?

1 个答案:

答案 0 :(得分:0)

我尝试根据您提供的信息重现场景,并且工作正常。 的login.php:

<!DOCTYPE html>
<html>
<head>
<title>login.php</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("#login").click(function(){
        $.post("homepage.php",function(data){
            var title = data.slice(data.indexOf("<title"),data.indexOf("</title>"));
            $("html").html(data);
            window.history.pushState(data,title,"/homepage.php");
        });
    });
});
</script>
</head>
<body>

<button type="button" id="login">Login</button>
</body>
</html>

homepage.php:

<!DOCTYPE html>
<html>
<head>
<title>homepage.php</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("#something").click(function(){
        $("#something-else").fadeToggle();
    });
});
</script>
</head>
<body>
<p id="something-else">something-else</p>
<button type="button" id="something">something</button>
</body>
</html>

判决是问题的根源在于其他地方。