Iveは、特定のタグを隠して表示する際に問題が発生しました。現在作成中のログインシステムのログインとログアウトボタンになります。ログインとログアウトは完璧に機能します。Javascript document.getElementById CSSが動作していませんか?
ログインタグを非表示にすると正常に動作し、ログアウトすると正しく表示されます。しかし、これはログアウトタグでは言えません。実際のページを調べると、私のJavaScriptが完全に無視されているかのように、CSSの変更がないことがわかります。
JavaScriptの機能を持つので、HERESに私のHTML:
<div class="uitlog_inlog">
<a href="login.php" class="navigatieknop_inlog" id="navigatieknop_inlog">Inloggen</a>
<a href="loguit.php" class="navigatieknop_uitlog" id="navigatieknop_uitlog">Uitloggen</a>
</div>
<?php
include 'login/inloggen.php';
if(!isset($_SESSION['loggedin']) ==true){
$sessie = session_status();
if($sessie == PHP_SESSION_NONE){
session_start();
} else {
}
}
if(session_status() == PHP_SESSION_ACTIVE){
if(isset($_SESSION['login_user'])){
echo '<div class="welkom">Welkom ' .$_SESSION['login_user'] .'!</div>';
echo "<script type=\"text/javascript\">
document.getElementById('navigatieknop_inlog').style.display = 'none';
document.getElementById('registratieknop').style.display = 'none';
document.getElementById('bewerken').style.display = 'block';
document.getElementById('navigatieknop_uitlog').style.display = 'block';
</script>";
} else {
echo "<script type=\"text/javascript\">
document.getElementById('navigatieknop_inlog').style.display = 'block';
document.getElementById('registratieknop').style.display = 'block';
document.getElementById('bewerken').style.display = 'none';
document.getElementById('navigatieknop_uitlog').style.display = 'none';
</script>";
}
}
?>
そしてHERESに私のCSS:
.navigatieknop_uitlog, .navigatieknop_inlog {
border: none;
color: white;
padding: 10px 15px;
text-align: center;
text-decoration: none;
float: right;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}
.navigatieknop:hover, .navigatieknop_end:hover, .navigatieknop_uitlog:hover, .navigatieknop_inlog:hover, .registratieknop:hover, .bewerkenknop:hover{
background-color: black;
-webkit-transition: background-color 500ms linear;
-moz-transition: background-color 500ms linear;
transition: background-color 500ms linear;
}
Javascriptが働いています。たぶん、PHPのエコーが何か間違って印刷されている? – Roy
PHPの人ではありませんので、PHPはスクリプト言語ではありません。これは要素がレンダリングされる前にスクリプトを実行しませんか? JS関数を作成し、 'window.onload'で呼び出してください。 – Rajesh
@Rajesh PHPはスクリプトを実行します。ログイン "ボタン"もそこにあり、それは優しく罰金を隠して示しています。私は、作業ログインボタンからコードをコピーしてコピーし、ログアウトボタンのために変更しました。残念なことに、どういうわけかそのdidnt仕事。 – Asbuster