|
|
|
สอบถามเกี่ยวกับ link เหมือนใน Hotmail ตัวอย่างด้านในค่ะ |
|
|
|
|
|
|
|
Code (PHP)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<script>
var read = [];
$(document).ready(function() {
$('.myicon').click(function() {
alert($(this).attr('x-data'));
});
$('.hovers').click(function(){
read = [$(this).attr('id')];
alert('read');
updateRows();
});
});
function updateRows(){
for(var i in read)
$('#'+read[i]).removeClass('unread').addClass('read');
}
</script>
<style>
i.myicon{display: none;}
.hovers td:first-child{
width: 300px;
}
.hovers:hover td{background-color: #CCC;}
.hovers:hover td i.myicon{
float: right;margin: 2px;padding-left: 3px;padding-right: 3px;display: block;cursor: pointer;z-index: 1000;
}
.read {background-color: #EEE}
.unread{background-color: #DDD}
</style>
<body>
<table border="0" width="500">
<?php
foreach (range(1, 5) as $value) {
echo '<tr class="hovers unread" id="row'.$value.'">
<td>Name #' . $value . '<i class="myicon" x-data="x-' . $value . '">Xx</i><i class="myicon" x-data="o-' . $value . '">Oo</i></td>
<td>Text #' . $value . '</td>
</tr>';
}
?>
</table>
</body>
</html>
ประมาณนี้ครับ เพี่ยงคุณเก็บสถานะการอ่านไว้้ในฐานข้อมูลว่ามีการอ่านข้อความนี้หรือยัง แล้วพอเริ่มโหลหน้ามาครังแรก
ก็เก็บข้อมูลของแถวที่อ่านแล้ไว้ที่ตัวแปร var read = []; เท่านั้นเอง
|
ประวัติการแก้ไข 2013-06-06 09:52:31 2013-06-06 09:53:36
|
|
|
|
Date :
2013-06-06 09:51:59 |
By :
t-monroe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ คุณ t-monroe ที่พออ่านดู ดิฉันต้องสร้างตัวแปร read ในฐานข้อมูลใช่หรือเปล่าค่ะ ลองเอาตัวอย่างคุณไปลองดู ตอนคลิกมันก็เปลี่ยนน่ะค่ะ แต่ว่าพอรีเฟรชหรือว่ากลับมาทำใหม่ มันก็เหมือนกับว่ายังไม่มีคนคลิกน่ะค่ะ รบกวนดูให้อีกทีน่ะค่ะ
|
|
|
|
|
Date :
2013-06-06 10:38:28 |
By :
454463212 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมหมายถึง คุณ query จากฐานข้อมูลแล้วเก็บข้อมูลว่ามีแถวไหนบ้างเก็บไว้ที่ตัวแปร var read = []; ตอนแสดง HTML ออกมาครับ
ซึ่งคุณจะต้องเก็บสถานะการอ่านในฐานข้อมูลก่อนแล้วดึงขึ้นมาใส่
1. เพิ่ม colum ในตารางที่เก็บข้อความของคุณ ใน db เพื่อเก็บสถานะการอ่าน ค่าเป็น 0 เมื่อคนอ่านแล้ว ให้ updae เป็น 1
2. เมือมีการโหลดหนเาเข้ามา แสดง list ข้อความ ให้เช็คว่าตัวไหนที่มีสถานะการอ่านเป็น 1 เก็บไอดีนั้นไว้ที่ ตัวแปร var read = [];
เช่น
var read = [['row2'],['row4']];
คือ
ข้อความ id ที่ 2 และที่ 4 อ่านไปแล้ว
ลองรันดูครับ
Code (PHP)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<script>
var read = [['row2'],['row4']];
$(document).ready(function() {
$('.myicon').click(function() {
alert($(this).attr('x-data'));
});
$('.hovers').click(function(){
read = [$(this).attr('id')];
alert('read');
updateRows();
});
updateRows();
});
function updateRows(){
for(var i in read)
$('#'+read[i]).removeClass('unread').addClass('read');
}
</script>
<style>
i.myicon{display: none;}
.hovers td:first-child{
width: 300px;
}
.hovers:hover td{background-color: #CCC;}
.hovers:hover td i.myicon{
float: right;margin: 2px;padding-left: 3px;padding-right: 3px;display: block;cursor: pointer;z-index: 1000;
}
.read {background-color: #EEE}
.unread{background-color: #DDD}
</style>
<body>
<table border="0" width="500">
<?php
foreach (range(1, 5) as $value) {
echo '<tr class="hovers unread" id="row'.$value.'">
<td>Name #' . $value . '<i class="myicon" x-data="x-' . $value . '">Xx</i><i class="myicon" x-data="o-' . $value . '">Oo</i></td>
<td>Text #' . $value . '</td>
</tr>';
}
?>
</table>
</body>
</html>
|
|
|
|
|
Date :
2013-06-06 10:59:27 |
By :
t-monroe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|