私はheader.phpにサイドバーメニューを表示するボタンが含まれています。ボタンとサイドバーはと表示され、のユーザだけがアクセスできます。このブロックの最後には、サイドバーに「アクティブ」というクラスを追加して表示させるコードが少しあります。今、私は私のユーザーはAJAXを経由して、彼らは私がちょうどボタンとサイドバーを表示するための私のヘッダブロックをリフレッシュログインしている一度ログインしますAjax経由で適切に再読み込みdiv - スクリプトが消えます
<div id="header">
<!-- if is_user_logged_in -->
<a id="menu-toggle" href="#" type="button">
<i class="sprite-t-toggle-side"></i>
</a>
<!-- sidebar menu-->
<div id="sidebar-wrapper"><!-- menu content --></div>
<script>
var $menu = $("#sidebar-wrapper");
$("#menu-toggle").on("click", function(e) {
e.preventDefault(),
$menu.toggleClass("active");
});
</script>
</div>
:それはのようなものです。私は私のAJAXの成功にそうするようにコード行を使用:すべてがうまくある
success: function(data){
if (data.loggedin == true){
$("#header").load(location.href + " #header");
}
}
ここまでは、ユーザーがログに記録され、ボタンはを表示されているが、私はそれをクリックしたときに何も起こりません。サイドバーは表示されません。コードを見ると、ヘッダーの最後に小さな機能が表示されません。それ以外の場合は、ページ全体をリロードすると動作します。 何が起こっているのですか?私は間違って何をしていますか?
内のすべてのHTMLを置き換えます負荷(LOCATION.HREF +。 "#header"); –
はい。それは働いています@askingquestions – XiLab
e.preventDefault()を削除してみてください、それは必要ですか? –