Friday, July 18, 2008

ඉදිරියේදි නිකුත් වෙන පරිගණක ක්රීඩා

World of Warcraft - Wrath of the Lich King

ලොව පුරා මිලියන දහයකට අදික පිරිසක් ක්රීඩා කරන World of Warcraft, MMORPG පරිගණක ක්රීඩවේ නවතම ප්රකාශනය Wrath of the Lich King එලබෙන නත්තල් සමයේදි නිකුත් කිරීමට නියමිතයි. මෙහි පලවෙනි ප්රකාශනය නිකුත් වුනේ 2004 නොවැම්බර් මාසයෙදීයි. වයස් බේදයක් නැතිව ඕනැම කෙනෙකුට එක සේ සතුටු වියහැකි ක්රීඩාවකි මෙය. මෙම ක්රීඩාව ක්රියත්මක වන්නේ අන්තර්ජාලය හරහායි.

මම ක්රීඩා කරන චරිතය

Starcraft II

දැනට අවුරුදු 10කට පමන පෙර නිකුත් වූ පලවෙනි ප්රකාශනයෙන් පසු ලොව පුරා බොහෝ දෙනා බලාසිටි Starcraft 2 පරිගනක ක්රීඩාවත් ලගදීම නිකුත් වීමට නියමිතයි.

Monday, July 14, 2008

jQuery | ඕනම element එකකට hover effect

ඉන්ටෙර්නෙට්‌ එක්‌ස්‌ප්ලොරර් 6 වල links හරුනුකොට වෙනත් element සදහා :hover pseudo-class එක වැඩ කරන්නේ නැහැ.

උදාහරණය 1 : firefox හි paragraph සදහා hover වැඩ කලත් ie6 හි වැඩ කරන්නේ නැහැ.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>IE hover test</title>
<style>
#wrapper { margin:20px auto; width:600px; }

.hover-me:hover { background:#eee; }
</style>
</head>

<body>
<div id="wrapper">
 <a class="hover-me" href="#">test link</a>
 <p class="hover-me">test paragraph</p>
</div>
</body>
</html>

ඉහත දැක්‌වෙන උදාහරණයේ හි link එක සදහා අලු පැහැති පසුබිම් වර්නයක්‌ mouse over කිරීමේදී දර්ශනය වූවත් paragraph (p) එක සදහා එය අපට අවශ්‍ය පරිදි ක්‍රියා කරන්නේ නැහැ.

මෙය හරි ආකාරව ක්‍රියාත්මක කර ගැනීම සදහා අපි jQuery භාවිතා කරමු.

අපි මෙහිදී කරන්නේ mouse over කරන අවස්‌තාවෙදී එම අදාල element එකට class එකක්‌ එකතු කිරීමයි.

උදාහරණය සදහා මම යොදා ගන්නේ hover-frosure class එකයි. එහි පසුබිම් වර්නය සදහ අලු පැහැය css මගින් යොදා තිබෙනවා.

.hover-forsure { background:#eee; }

දැන් අපි jQuery addClass මගින් hover වීමේදි hover-me paragraph class එක සදහා hover-forsure class එක යොදමු.

$(document).ready(function(){
 $('.hover-me').hover(function() {
 $(this).addClass('hover-forsure'); 
 }, function() {
 $(this).removeClass('hover-forsure');
 }); 
});

උදාහරණය 2: දැන් IE6 එකෙත් hover වැඩ කරනවා!

සම්පූර්ණ කේත

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Hover Demo</title>
<style>
#wrapper { margin:20px auto; width:600px; }
.hover-forsure { background:#eee; }
</style>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
 $('.hover-me').hover(function() {
 $(this).addClass('hover-forsure'); 
 }, function() {
 $(this).removeClass('hover-forsure');
 }); 
});
</script>
</head>
<body>
<div id="wrapper"> 
 <p class="hover-me">test hover 2</p>
</div>
</body>
</html>

Monday, July 7, 2008

jQuery එක්‌ක ලස්‌සන වෙන්න!

ThickBox (තික්‌ බොක්‌ස්‌)
වෙබ් මුහුනත් අලංකාර කරන්න වගේම පින්තූර දර්ශනය කරන්න නියමයි.
පින්තූර උදාහරණය
මුලින්ම අවශ්‍ය ගොනු බාගත කරගමු.
thickbox.js
thickbox.css
jquerry-latest.js (පසුගිය සතියේ zeebra table හදන්න පාවිච්චි කල library එකමයි)
loadingAnimation.gif
පින්තූර සදහා..
ඉන්පසු javascript සහ css ගොනු අපේ වෙබ් පිටුවට අතුලත් කරමු.
<link rel="stylesheet" type="text/css" href="thickbox.css" />
<script type="text/javascript" src="jquery-latest.js"></script>
<script type="text/javascript" src="thickbox.js"></script>
ඔබට අවශ්‍ය කුඩා රූපය සහ විශාල රූපය සාදා (උදාහරණය සදහා මගේ කුඩා රූපය illidan_small.jpg ලෙසත් විශාල රූපය illidan.jpg ලෙසත් පාවිච්චි කරනවා) පහත ආකාරයට thichbox එක ඇතුලත් කරගන්න.
<a href="illidan.jpg" title="ඔබට අවශ්‍ය මාතෘකාවක්‌ යොදන්න" class="thickbox"><img src="illidan_small.jpg" alt="Illidan"/></a>
පින්තූර උදාහරණය
iframe සදහා..
ඉහත ආකාරයටම javascript ගොනු සහ css ගොනු ඔබේ පිටුවට අතුලත් කර පහත දක්‌වෙන පරිදි thickbox එකක්‌ තුල iframe ලෙස දර්ශනය කරන්න පුලුවන්.
<a href="myiframe.html?keepThis=true&TB_iframe=true&height=300&width=400" title="ඔබට අවශ්‍ය මාතෘකාවක්‌ යොදන්න" class="thickbox">click here</a>
iframe උදාහරණය
thickbox වෙබ් අඩවිය

Tuesday, July 1, 2008

jQuery javascript එකතුව ගැන කෙටි හැදින්වීමක්‌

ප්‍රයෝජන
සැම බ්‍රව්සරයක්‌ ම එකම ආකාරයෙන් වෙබ් පිටු දර්ශනය කරන්නේ නැහැ. jQuery මගින් මෙම අඩුපාඩුව පහසුවෙන් මගහැරගන්නට පුලුවන්.
DOM script පේලි රාශියකින් ලියන දෙයක්‌ jQuery මගින් ඉතා සුලු පේලි ගනනකින් ලිවිය හැකියි.
පහසුවෙන් පිටුවක අන්තර්ගතයන් වෙනස්‌ කරගනීමේ හැකියාව jQuery ලබදෙයි. උදාහරනයක්‌ වශයෙන් පිටුවක ඇති text වෙනස්‌ කිරීම, පින්තූර මාරු කිරීම ලයිස්‌තු වෙනස්‌ කිරීම වැනි දේ.
වෙබ් පිටු සජීවීකරනය කරගැනීමට නොයෙකුත් ආකාරයේ දෘශ්‍ය ප්‍රයෝග jQuery එකතුව සතුයි.
වෙබ් පිටු පරිශීලකයා වෙබ් පිටුව හසුරුවන ආකරය ( link එකක්‌ මත ක්‌ලික්‌ කිරීම වැනි දේ ) event handlers මගින් පාලනය කිරීමේ පහසු ක්‍රම jQuery ලබාදෙයි.
මම ඒ පැහදිලි කරන්නට උත්සාහ කලේ jQuery මගින් අපට ලබාදෙන පහසුකම් සමහරක්‌. දැන් අපි බලමු jQuery උපයෝගී කරගෙන සරල උදාහරනයක්‌.

සීබ්‍රා tables
සීබ්‍රා tables වෙබ් පිටු වල බොහෝ සේ පාවිච්චි කරන දෙයක්‌. පේලියෙන් පේලියට වර්නය මාරු වෙන නිසා දත්ත පැහැදිලිව පෙනෙන අතරම පිටුව අලංකාරව පේනවා.
මුලින්ම බලමු කොහොමද jQuery අපේ පිටුවට එකතු කරගන්නෙ කියලා. http://www.jquery.com වෙබ් අඩවියෙන් jquery-1.2.6.js (දැනට පවතින version එක) බාගත කරගන්න.
වෙබ් පිටුවෙ head section එකේ පහත ආකරයෙන් එය link‌ කරගන්න.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>zeebra</title>
<script src="jquery-1.2.6.js" type="text/javascript"></script>
</head>
table එකේ html
<body>
<table id="zeebra" cellspacing="0">
<tr>
  <td>Nickelback</td>
  <td>If Everyone Cared</td>
</tr>
<tr>
  <td>Goo Goo Dolls</td>
  <td>Iris</td>
</tr>
<tr>
  <td>Edwin McCain</td>
  <td>I'll Be</td>
</tr>
<tr>
  <td>Metallica</td>
  <td>Nothing Else Matters</td>
</tr>
<tr>
  <td>Nirvana</td>
  <td>Smells Like Teen Spirit</td>
</tr>
</table>
</body>
css
body { font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; }
#zeebra {  border: 1px solid #666666; }
#zeebra td { border-left: 1px solid #D9D9D9; padding:5px; }
<දැන් ඔබේ පිටුව මෙසේ දිස්‌ වේවි.
අපට ඉරට්‌ටේ පේලි නිල් පැහැ කිරීමට අවශ්‍ය යයි සිතමු. css‌ වලින් අපි even නමින් class එකක්‌ හදලා අපිට අවශ්‍ය විදිහට නිල් පාට පසුබිම් වර්නයක්‌ යොද ගනිමු.
.even { background-color:#edf3fe; }
දැන් ඉතිරිව ඇත්තේ මගින් අපට අවශ්‍ය zeebra stripe යොදාගනීම පමනයි. පහත දැක්‌වෙන පේලි head section එකේ යෙදීමෙන් ඉරට්‌ටෙ පේලි වල පසුබිම් වර්නය නිල් පැහැ වේවි.
<script type="text/javascript">
$(document).ready(function() {
 $('tr:even').addClass('even');
});
</script>
tr:even මගින් table එකේ ඇති ඉරට්‌ටෙ පේලි සොයා දෙන අතර addClass මගින් අපි කලින් css වලින් සාදාගත් even class එක එම ඉරට්‌ටෙ පේලි වලට යොදනු ලැබේ.
අවසාන ප්‍රතිපලය මෙසේ දිස්‌ වේවි.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>zeebra</title>
<script src="http://thilina.gunasekara.googlepages.com/jquery.js" type="text/javascript"></script>
<style type="text/css">
body { font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; }
#zeebra {  border: 1px solid #666666; }
#zeebra td { border-left: 1px solid #D9D9D9; padding:5px; }
.even { background-color:#edf3fe; }
</style>
<script type="text/javascript">
$(document).ready(function() {
$('tr:even').addClass('even');
});
</script>
</head>

<body>
<table id="zeebra" cellspacing="0">
<tr>
    <td>Nickelback</td>
    <td>If Everyone Cared</td>
</tr>
<tr>
    <td>Goo Goo Dolls</td>
    <td>Iris</td>
</tr>
<tr>
    <td>Edwin McCain</td>
    <td>I'll Be</td>
</tr>
<tr>
    <td>Metallica</td>
    <td>Nothing Else Matters</td>
</tr>
<tr>
    <td>Nirvana</td>
    <td>Smells Like Teen Spirit</td>
</tr>
</table>
</body>
</html>
තවත් jQuery තොරතුරු සමග හමුවෙමු!