บทความนี้ก็ยังไม่พ้นเรื่องปอ๊ปอัพอยู่นะครับ เป็นป๊อปอัพแบบ onmouse over พอเอาเมาว์ไปชี้ ก็จะแสดงป๊อปอัพขึ้นมา พร้อมกับแสดงข้อควาามบรรยาย หรือข้อมูลที่เราต้องการ เมื่อใช้เมาว์คลิก เราอาจทำลิงค์ไปยังเพจต่างๆเพื่ออ่านข้อมูลเพิ่มเติม หรือ เพื่อโชว์รูปภาพต้นแบบก็ได้.....
เริ่ม...
บทนี้มีไฟล์ 3 ไฟล์คือ
jquery.js
config.php
popOnmouseOver.php
สร้างฐานข้อมูลสำหรับทดสอบ SQL
CREATE TABLE `image` ( `id_image` int(11) NOT NULL AUTO_INCREMENT, `image` char(100) NOT NULL DEFAULT '', `title` char(100) NOT NULL DEFAULT '', `data` text NOT NULL, PRIMARY KEY (`id_image`) );
เหมือนเดิมครับ เรามีพระเอกของเรานั่นก็คือ jQuery.js
ไฟล์ popOnmouseOver.php
นำเข้า jquery
<script type="text/javascript" src="jquery.js"></script>ดึงข้อมูลรูปภาพขึ้นมาแสดงก่อนด้วยโค้ดนี้
ไฟล์ popOnmouseOver.php
<?php
include 'config.php';
$sql = "select * from image";
$result = mysql_query($sql);
$num = mysql_num_rows($result);
$i=0;
while($i<$num){
$row = mysql_fetch_array($result);
$image = $row[image];
$title = $row[title];
$data = $row[data];
echo "<a href ='uploads/$image'/>";
echo "<img id='images' height='60'
src='uploads/$image' alt='$title' rel='$data'/>";
echo "</a>";
$i++;
}
?>
<p id='desc'style="display: none;"></p>
จากนั้นก็กำหนด CSS ดังนี้
ไฟล์ popOnmouseOver.php
<style>
a img{
border:none;
}
#largeImage{
border:1px solid #dddddd;
padding:5px;
position: absolute;
width:300px;
background: #293849;
overflow: hidden;
color:#ffffff;
}
#largeImage img{
width:110px;
}
#images{
margin-left:20px;
}
#title{
height:auto;
padding:5px;
position:relative;
background: #88D0FF;
}
</style>
แล้วตามด้วย พระเอกของเรา javascript jQuery ดังนี้
ไฟล์ popOnmouseOver.php
<script type="text/javascript">
$(function(){
var offsetX=20;
var offsetY=10;
$('a').hover(function(e){
var imgRel = $(this).find('img').attr("rel");
var imgAlt = $(this).find('img').attr("alt");
var href = $(this).attr('href');
var html = '<div id="largeImage">';
html += '<img align="left" style="margin-right: 10px" src="'+href+'"/>';
html += '<span id="desc"<b><font color="#DCD995">'+imgAlt+'</font></b>';
html += '<br><font size="2">'+imgRel+'</font></span></div>';
$(html)
.css('top', e.pageY + offsetY)
.css('left', e.pageX + offsetX)
.appendTo('body');
}, function(){
$('#largeImage').remove();
});
$('a').mousemove(function(e){
$('#largeImage').css('top', e.pageY + offsetX)
.css('left', e.pageX + offsetX);
});
});
</script>
เสร็จแล้วครับ โค้ดสั้นๆแต่ได้ผลเป็นที่น่าพอใจ...เขาละ jQuery.
อาจจะพูดน้อยไปนิดหนึ่งนะครับ เพราะว่ามันคล้ายๆกับบทความก่อนมากๆ
บทความนี้ก็ขอจบลงเพียงเท่านี้ครับ.....









ใช้ jQuery.js ตัวไหนอ่ะครับ
ตอบลบ