私はこれを始める方法に行き詰まっています。私が必要とするこの機能を実行するには、JavaScript または PHP のいずれか、あるいはその両方が必要だと思います。
各メンバー名の横にあるページにメンバー プロファイルのリストがあります。現在、ログインしているメンバーがオンライン (緑の点) であるかどうかに関係なく表示する必要がある CSS と html のみを使用するプレースホルダーがあります。メンバーがログアウトすると、オフラインであることを示します (灰色の点)。
どこから始めればいいのかわからないので、JavaScript や PHP はまったく書いていませんが、この小さなセクションだけに必要であり、機能させるために必要なものであることはわかっています。私にできることは、私が持っている html と私が持っている CSS を提供することだけです。ページ全体ではなく、この小さなセクション (オンライン - 緑色の点またはオフライン - 灰色の点) を更新するだけで、少なくとも 15 ~ 30 秒ごとにログイン/ログアウトしているユーザーのスキャンを実行したいと思います (これは確かです)。これには JavaScript が最適です)。もちろん、セッション [ID] でクエリを実行して、メンバーが実際にオンライン/オフラインであるかどうかを確認することもできます (PHP/PDO がベスト プラクティスであると確信しています)。私が持っている小さな CSS と HTML から正しい方向に導くのを手伝ってくれる人はいますか?
HTML:
<div id="profile">
<img src="images/ImagePlacedHere.jpg" width="80" height="80" style="margin: 4px 5px; float: left;" />
<h2>Jason <online title="Online" /></h2>
</div>
<div id="profile">
<img src="images/ImagePlacedHere.jpg" width="80" height="80" style="margin: 4px 5px; float: left;" />
<h2>Nick <offline title="Offline" /></h2>
</div>
CSS:
#profile {
width: 300px;
height: 90px;
padding: 0;
margin: 10px 0 0 8px;
background: #222;
border: 2px solid #444;
-moz-border-radius: 12px;
-webkit-border-radius: 12px;
border-radius: 12px;
-moz-box-shadow: 0 28px 24px -24px #000, inset 0 -0.3em 0.9em 0.3em #000;
-webkit-box-shadow: 0 28px 24px -24px #000, inset 0 -0.3em 0.9em 0.3em #000;
box-shadow: 0 28px 24px -24px #000, inset 0 -0.3em 0.9em 0.3em #000;
float: left;
-moz-transition: all .2s ease-in-out;
-webkit-transition: all .2s ease-in-out;
-o-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
position: relative;
top: -10px;
left: -3px;
}
#profile:hover {
background: rgba(255, 255, 255, 0.05);
-moz-box-shadow: 0 0 0 0, inset 0 0.3em 0.9em 0.3em #000;
-webkit-box-shadow: 0 0 0 0, inset 0 0.3em 0.9em 0.3em #000;
box-shadow: 0 0 0 0, inset 0 0.3em 0.9em 0.3em #000;
}
#profile h2 {
width: 195px;
height: 22px;
padding: 8px 0 1px 0;
margin: 0;
border-bottom: 1px solid #444;
float: left;
color: #B45F04;
font: 18px Arial, Helvetica, sans-serif;
font-weight: bold;
font-variant: small-caps;
text-shadow: 1px 1px 1px #000, -2px -2px 2px #000;
filter: progid:DXImageTransform.Microsoft.Shadow(direction=315,strength=2,color=000000);
}
#profile h2 online {
width: 15px;
height: 15px;
padding: 0;
margin: 0;
background: #009D0D;
border: 2px solid #444;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
-moz-box-shadow: 0 4px 1px -1px #000, inset 0 -1px 4px 1px #000;
-webkit-box-shadow: 0 4px 1px -1px #000, inset 0 -1px 4px 1px #000;
box-shadow: 0 4px 1px -1px #000, inset 0 -1px 4px 1px #000;
float: right;
}
#profile h2 offline {
width: 15px;
height: 15px;
padding: 0;
margin: 0;
background: #222;
border: 2px solid #444;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
-moz-box-shadow: 0 4px 1px -1px #000, inset 0 -1px 4px 1px #000;
-webkit-box-shadow: 0 4px 1px -1px #000, inset 0 -1px 4px 1px #000;
box-shadow: 0 4px 1px -1px #000, inset 0 -1px 4px 1px #000;
float: right;
}
ここに私が持っているもののデモがあります: http://jsfiddle.net/tZpk6/
さらに情報が必要な場合は、さらに提供できる可能性があります(おそらく)...