Showing posts with label jquery. Show all posts
Showing posts with label jquery. Show all posts

Thursday, July 8, 2010

හොඳ චිත්‍රපටි බලාගන්න ලේසි විදිහක්

ෆිල්ම්හෝල් වලට එන ඉංග්‍රීසි ෆිල්ම් අතලොස්සක් ඇරෙන්න අපිට ෆිල්ම් බලන්න තියන ලේසිම විදිහ, ටොරන්ට් හරි ස්ට්‍රීමින් සයිට් එකක බලන එක. ෆිල්ම් එක ගැන හොයන්නෙ බලන්නෙ නැතුව පැය ගානක් ඩවුන්ලෝඩ් කරාට පස්සෙ බලද්දී තමයි තේරෙන්නේ කිසි වැඩකට නැති ෆිල්ම් එකක් කියලා. ෆිල්ම් එකක් ගැන අනිත් අය කියන්නේ මොනවද කියල බලන්න ලේසිම/හොදම තැන තමයි imdb - internet movie database එක. මෙතන තියනවා හැම ෆිල්ම් එකකම වගේ විස්තර. මම බලන්නේ user rating එක 6 ට වඩා වැඩි ඒවා. ඕනනම් ඉතින් imdb පිටුවේ පහලම තියන බලලත් ෆිල්ම් එක ගැන වැඩි අදහසක් ගන්න පුලුවන්.
හැබැයි ටොරන්ට් සයිට් එකට ගිහිල්ලා ෆිල්ම් එකේ නම කොපි කරගෙන ආපහු ඒක imdb එකේ හොයන එක ටිකක් කම්මැලි වෙලායන වැඩක්. (ගුගල් ක්‍රෝම් එකේ නම් නම සිලෙක්ට් කරලා රයිට්ක්ලික් කරාම එන මෙනු එකෙන් search google for... තෝරලා google search පිටුවට ගියාම එන පලවෙනි රිසල්ට් එක ෆිල්ම් එකට අදාල imdb පිටුව). කොහොමහරි මේ වැඩේ බ්‍රව්සර් එකේ එකම ටැබ් එකක කරන්න පුලුවන් නම් ලේසී කියල මට හිතුනා. එතකොට මට මතක් උනා smashingmag එකේ තිබුන ලිපියක්. පොඩි වෙනස්කම් ටිකක් කරල imdb එකට හරියන්න හදාගත්තා. tgunasekara.com/playground/imdb/ මෙහෙමයි පාවිච්චි කරන්නේ..
මුලින්ම tgunasekara.com/playground/imdb/ පිටුවට ගිහිල්ලා check movie කියල තියන ලින්ක් එක බ්‍රව්සර් එකේ bookmarks bar එකට drag කරගන්න.
bookmarks bar එකේ 'Check movie' කියලා අලුත් ලින්ක් එකක් පෙනේවි.
දැන් තමන් කැමති ටොරන්ට් / ස්ට්රීමින් සයිට් එකේදී මේ bookmarklet එක පාවිච්චි කරන්න පුලුවන්.
මම හුගක් වෙලාවට යන්නේ quicksilverscreen. ෆිල්ම් එකේ නම සිලෙක්ට් කරලා bookmark bar එකේ 'Ckeck movie' ක්ලික් කරන්න.
දැන් ඒ ෆිල්ම් එකට අදාල විස්තරය එම ටැබ් එකේම පෙනේවි.
මේ විදිහට ටොරන්ට් සයිට් එකක වුනත් ඉක්මනින් imdb විස්තර බලාගන්න පුලුවන්. කරන්න අවශ්ය නම තෝරලා 'Check movie' ක්ලික් කරන එක විතරයි.

Friday, December 12, 2008

jQuery | sidemenu එකක්‌ හදමු

ඔන්න ආපහු ආවා jQuery එක්‌ක. අද බලමු තවත් මෙනු එකක්‌ කොහොමද හදන්නෙ කියලා. මේකට මම භවිතා කරන්නේ next() . next() මගින් අපිට යම් element එකක ඊලගට ඇති element එක ගන්න පුලුවන්.

jquery menu

මුලින්ම අපි html list එකක්‌ මගින් මෙනු එකෙහි සැකැස්‌ම හදමු.

<ul id="nav">
    <li><a class="main" href="#">Home</a>
     <ul>
         <li><a href="#">my blog</a></li>
            <li><a href="#">my facebook profile</a></li>
            <li><a href="#">my website</a></li>
        </ul>
    </li>
    <li><a class="main" href="#">SBU</a>
     <ul>
         <li><a href="#">Sinhala Bloggers Union</a></li>
            <li><a href="#">Sinhala Blog Reader</a></li>
            <li><a href="#">MyBlog.lk</a></li>
            <li><a href="#">Sinhala Blogs Facebook App</a></li>
        </ul>
    </li>
    <li><a class="main" href="#">Links</a>
  <ul>
            <li><a href="#">google</a></li>
            <li><a href="#">youtube</a></li>
            <li><a href="#">facebook</a></li>
  </ul>
    </li>
    <li><a class="main" href="#">About Me</a></li>
    <li><a class="main" href="#">Contact</a></li>
</ul>

දැන් එය මෙසේ දිස්‌වේවී. දැන් අපේ මෙනු එක css මගින් style කරන්න වෙලාව.

පිටුවේ ඇති සියලුම element වල padding සහ margin, 0 කිරීම සදහා css ගොනුවට * { margin:0; padding0; } කේතය අතුල් කරනවා. ඉන් පසු ul (unordered list) එකෙහි li (list item) වල bullet එක ඉවත් කිරීමට සහ එක li තුල ඉඩ ලබා දීමට li { list-style:none; line-height:36px; display:inline; } ලෙස යොදනවා. menu එකෙහි ප්‍රමානය රඳවා ගැනීමට මම wrapper div එකක්‌ තුලට menu list එක දමා තිබෙනවා. එහි පලල 350px ලෙස දෙමු.

* { 
    margin:0; 
    padding:0; 
}

li { 
    list-style:none; 
    line-height:36px;  
    display:inline; 
}

#wrapper { 
    width:350px; 
    margin:30px 0 0 30px;
}

එලෙසම මෙනු එකෙහි ලින්ක්‌ සදහා css style ලබා දෙමු.

#nav li a, #nav li a:visited { 
    display:block; 
    color:#fff; 
    text-decoration:none; 
    padding-left:15px; 
    font-family:Georgia, "Times New Roman", Times, serif; 
    font-style:italic; 
    font-size:22px; 
    border-bottom:1px solid #fff; 
    background:#3b5998 url(arrow.gif) top right no-repeat; 
}
#nav li a:hover, a.active_link { 
    background-position:bottom right!important; 
}

#nav li ul li a, #nav li ul li a:visited { 
    font-weight:normal!important; 
    color:#3b5998!important; 
    background:#d8dfea!important; 
}
#nav li ul li a:hover { 
    background:#c6d5ed!important; 
}

මෙහි ලින්ක්‌ එකේ පසුබිම් රූපයක්‌ ලෙස මම කුඩා ඊතලයක රූපයක්‌ photoshop මගින් සාදා ගත්තා. පහත ආකාරයට එම රූපයේ ඉහල කොටසින් ලින්ක්‌ එකෙහි සාමාන්‍ය පෙනුමත් පහල කොටසින් ලින්ක්‌ එක hover කල පසු පෙනුමත් දැක්‌වෙන ලෙස රූපය සාදාගෙන තිබෙනවා.css මගින් ලින්ක්‌ hover එක කල විට පසුබිම් රූපයේ පිහිටීම වෙනස්‌ කිරීමෙන් අපිට මෙනු එකෙහි දැක්‌වෙන ආකාරයේ effect එක ලබාගන්නට පුලුවන්.

menu background arrow

දැන් අපේ මෙනු එක css style සමග මෙසේ පෙනේවි.

සම්පූර්ණ css කේතය
* { 
    margin:0; 
    padding:0;
}

#wrapper {  
    width:350px;  
    margin:30px 0 0 30px; 
}

li {  
    list-style:none;  
    line-height:36px;
    display:inline;
}

#nav li a, #nav li a:visited {  
    display:block;  
    color:#fff;  
    text-decoration:none;  
    padding-left:15px;  
    font-family:Georgia, "Times New Roman", Times, serif;  
    font-style:italic;  
    font-size:22px;  
    border-bottom:1px solid #fff;  
    background:#3b5998 url(arrow.gif) top right no-repeat; 
}

#nav li a:hover, a.active_link {  
    background-position:bottom right!important; 
}

#nav li ul li a, #nav li ul li a:visited {  
    font-weight:normal!important;  
    color:#3b5998!important;  
    background:#d8dfea!important; 
}

#nav li ul li a:hover {  
    background:#c6d5ed!important; 
}

දැන් අපි jquery මගින් මෙනු එකට සජීවී බවක්‌ එකතු කරමු. ප්‍රථමයෙන් jquery ගොනුව ඔබේ පිටුවට එකතු කරගන්න. නවතම ගොනුව jquery.com වෙතින් ලබා ගන්නට පුලුවන්.

$(document).ready(function(){
    $('#nav li ul').hide();
    $('#nav li a.main').click(function(){
        $('#nav li ul:visible').slideUp('normal');
        $('.active_link').removeClass('active_link');
        $(this).addClass('active_link').next().slideDown('slow');
    });
});

මුලින්ම අපි sub menu සගවමු. මේ සදහා document ready function හි $('#nav li ul') මගින් #nav හි සියලු li තුල ඇති ul ලබාගෙන (එනම් sub menu), hide() මගින් ඒවා සැගවිය හැකියි.

ඉන්පසු මෙනු එකෙහි main class එක සහිත සියලු ලින්ක්‌ සඳහා click function එකක් යොදනවා.එ තුල මුලින්ම කර ඇත්තේ දැනටමත් sub menu විවෘතව ඇත්ද යන්න බැලීමයි. විවෘතව ඇත්නම් ඒවා slide up වෙනවා. මෙහි active_link class එක භාවිතා කරන්නේ ලින්ක්‌ එකෙහි පසුබිම් රූපය වන ඊතලය වෙනස්‌ කිරීම සදහායි. active link class එක ලින්ක්‌ එකට යෙදූ විට ඊතලය පහලට යොමුවී තිබෙන අතර active link class එක ලින්ක්‌ එකේ නැති විට ඊතලය දකුණට යොමු වෙනවා.

අවසාන පේලියෙන් කියන්නේ ඔබ ක්‌ලික්‌ කල ලින්ක්‌ එකට ($(this)), active_link class එක එකතු කරන ලෙසත් ඉන් පසු එම ලින්ක්‌ එකට පසුව ඊලගට ඇති element එක වන sub menu එක slide down කරන ලෙසයි.

අවසාන ප්‍රතිඵලය මෙසේ දිස්‌වේවි.

Wednesday, November 26, 2008

jQuery | Contact From එකක්‌ හදමු

වෙබ් අඩවියක වැදගත් අංගයක්‌ නේ contact form එක. අපි අද බලමු කොහොමද jquery/php/ajax භාවිතයෙන් එකක්‌ හදන්නෙ කියලා. හුගක්‌ වෙබ් අඩවි වල මේ පිලිබඳ සටහන් තිබුනත්, සිංහලෙන් වැඩි විස්‌තර නැති නිසා මම හිතුවා මේ ගැන ලියන්න.

අවසාන ප්‍රතිඵලය මුලින්ම බලලම ඉමු. කිසිම කොටුවක්‌ සම්පූර්ණ නොකර send බොත්තම ඔබා බලන්න. මෙහි fileds පුරවන්නෙ නැතිව send බොත්තම එබුවොත් පනිවුඩයක්‌ දිස්‌ වෙනවා එම fields සම්පූර්ණ කරන ලෙස ඉල්ලමින්. නැවත එම fields සම්පූර්ණ කල පසු පමනයි form එක submit වන්නේ.

අපි form layout එකෙන් පටන්ගමු.

html
<div id="wrapper">
 <h1>Contact Form</h1>
    <ul id="response">
     <li class="process">Processing..</li>
    </ul>
 <form method="post" action="send.php">
     <label for="name">Name</label>
        <input type="text" name="name" id="name" />
        <label for="email">Email</label>
        <input type="text" name="email" id="email" />
        <label for="message">Message</label>
        <textarea id="message" name="message" cols="20" rows="5"></textarea>
        <input type="button" value="send" id="send" name="submit" />
    </form>
</div>
css
* {
 padding:0; 
 margin:0;
}

body { 
 font-family:Verdana, Arial, Helvetica, sans-serif; 
 font-size:12px; 
 padding-top:30px; 
}

#wrapper { 
 width:500px; 
 margin:0 auto; 
 padding:20px; 
 background:#f9f9f9; 
 border:1px solid #ddd; 
}

label { 
 display:block; 
 padding:10px 0 5px; 
}

input, textarea { 
 width:490px; 
 border:1px solid #ddd!important; 
 padding:5px!important; 
}

input#send { 
 margin-top:15px; 
 width:100px; 
 text-align:center; 
 font-weight:bold; 
 background:#ddd; 
}

ul#response { 
 list-style-position:inside; 
 padding:20px 0 10px; 
}

ul#response li { 
 color:#c00; 
}

.sent { 
 color:#090!important; 
 list-style:none; 
}

jQuery

jquery.com වෙබ් අඩවියෙන් අලුත්ම jQuery ගොනුව ලබාගෙන ඔබේ පිටුවට link කරගන්න. මෙම form එක සඳහා අපි jquery හි ajax යෙදුම භාවිතා කරනවා. එය කරන්නෙ මෙහෙමයි. පහතින් පේලියෙන් පේලිය විස්‌තර කරන්නම්.

$(document).ready(function(){
  $('.process').hide();
  $('#send').click(function(){
    $('.process').fadeIn('fast');
      var name = $('#name').val();
      var email = $('#email').val();
      var message = $('#message').val();      
      $.ajax({
        type: 'post',
        url: 'send.php',
        data: 'name=' + name + '&email=' + email + '&message=' + message,
        success: function(msg{
          $('.process').fadeOut(1000);    
          $('#response').html(msg);
        }
      });
  });
});

පලවන පේලියෙන් සුපුරුදු පරිදි ආරම්භ වීමට ප්‍රථම පිටුව පූරණය වන තෙක්‌ සිටිනවා.

දෙවන පේලියෙන් කරන්නේ අපේ තාවකාලික පනිවිඩය ෆෝරමයේ send බොත්තම ඔබන තෙක්‌ සගවා තබා ගැන්ම.

තුන් වන පේලියේදී #send id එක සහිත send බොත්තම සදහා click function එකක්‌ යොදනවා. එනම් බොත්තම එබූ පසු එම වරහන් තුල ඇති කේතය (4 සිට 16 දක්‌වා පේලි) ක්‍රියත්මක වෙනවා.

හතරවන පේලියෙන් තාවකාලික පනිවිඩය පෙන්වනවා.

5, 6, 7 පේලි මගින් භාවිතයේ පහසුව සදහා අදාල id සහිත input සහ textarea වෙතින් එන අගයන් (values) විචල්‍යන්ට දමා ගන්නවා.

8 - 16 පේලි ajax post එක සදහායි. මෙහි මම භාවිතා කරන සැකසුම කොටස්‌ හතරකින් සමන්විතයි.type - යවන ආකාරය, url - යවන්නේ කුමන ගොනුවටද, data - යවන දත්තයන් සහ success - ලැබෙන ප්‍රතිචාරය එම කොටස්‌ හතරයි.

මෙහිදී මම ඊමේල් පනිවිඩය යෑවීමට 'phpMailer' නමැති නොමිලේ ලබාගත හැකි php class එක පාවිච්චි කරනවා. ඔබේ සර්වරයේ php version එකට ගැලපෙන ගොනුව phpMailer වෙතින් ලබාගන්නට පුලුවන්.

එම phpMailer ෆෝල්ඩරයත් ඔබේ contact form එක ඇති ෆෝල්ඩරය තුලටම දමන්න.

දැන් ඇත්තේ send.php ගොනුව php මගින් සාදා ගැනීමයි. මෙය ඉතා පහසුවෙන් phpMailer හි example ගිනු පිරික්‌සීමෙන් සාදාගන්නට පුලුවන්. අපේ contact form එක සඳහා සරල validation සහිත send.php ගොනුවක්‌ පහත පරිදි ලියන්න පුලුවන්.

<?php
 
 $name = trim($_POST['name']);
 $email = $_POST['email'];
 $message = $_POST['message'];
 
 $site_owners_email = 'youremail@email.com'; // ඔබේ ඊමේල් ලිපිනය යොදන්න 
 $site_owners_name = 'your name'; // ඔබේ නම යොදන්න 
 
 if (strlen($name) < 2) {
  $error['name'] = "Please enter your name"; 
 }
 
 if (!preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*+[a-z]{2}/is', $email)) {
  $error['email'] = "Please enter a valid email address"; 
 }
 
 if (strlen($message) < 3) {
  $error['message'] = "Please leave a comment.";
 }
 
 if (!$error) {
  
  require_once('phpMailer/class.phpmailer.php');
  $mail = new PHPMailer();
  
  $mail->From = $email;
  $mail->FromName = $name;
  $mail->Subject = "Website Contact Form";
  $mail->AddAddress($site_owners_email, $site_owners_name);
  $mail->Body = $message;
    
  $mail->Send();
  
  echo "<li class='sent'>Thank You " . $name . ". We recived your message.</li>";
  
 }
 else {

  $response = (isset($error['name'])) ? "<li>" . $error['name'] . "</li> \n" : null;
  $response .= (isset($error['email'])) ? "<li>" . $error['email'] . "</li> \n" : null;
  $response .= (isset($error['message'])) ? "<li>" . $error['message'] . "</li>" : null;
  
  echo $response;
 }

?>

දැන් සියල්ල සූදානම්. ගැටලු ඇත්නම් comment මගින් විමසන්න.

සම්පූර්ණ කේතය මෙතනින් ගන්න

Monday, October 27, 2008

jQuery | සරල jQuery වැඩ කිඩ

ඔන්න අපේ මලින්ත මලයත් දෙතුන් පාරක්‌ ම මතක්‌ කරපු නිසා හිතුන අද පොඩි jQuery වැඩ කෑලි ටිකක්‌ ලියන්න. jQuery ගැන කෙටි හැදින්වීමක්‌ සහ කෙටි ලිපියක්‌ මීට කලින් මම ලිව්වා. පහත සබැදි වලින් ඒවා බලන්න පුලුවන්.

jQuery javascript එකතුව ගැන කෙටි හැදින්වීමක්‌
jQuery එක්‌ක ලස්‌සන වෙන්න!
ඕනම element එකකට hover effect

අද අපි බලමු slide effect එකක්‌ කරන්නෙ කොහොමද කියලා.

උදාහරණය:

මගේ වෙබ් පිටුවේ ඉහල දකුණු කෙලවරේ contact me, click කර බලන්න. contact ෆෝරමයක්‌ පහලට එනු පෙනේවි. අද අපි හදන්න යන්නේ මීට සමාන දෙයක්‌.

අපි මුලින්ම පිටුවට toggle button එකක්‌ එකතු කරමු. මේ සදහා මම භවිතා කරන්නේ සාමාන්‍ය ලින්ක්‌ එකක්‌. මෙය වරක්‌ එබූ විට my_slide div එක පෙන්වීමටත් නැවත එබූ විට my_slide div එක නොපෙනී යාමටත් සකස්‌ කරමු.

html
<a href="#" class="my_button">show me the slide</a>

<div id="my_slide">
    <div id="container">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    </div>
</div>
css
#my_slide { 
    width:300px; 
    margin-top:20px; 
    background:#CDEB8B; 
    overflow:hidden; 
}

#container { 
    padding:20px; 
}

අලුත්ම jQuery සංස්‌කරණය jQuery.com වෙතින් ලබා ගන්නට පුලුවන්. එය ඔබේ පිටුවට අමුණූ පසු පහත පරිදි කේතය ලියන්න.

javascript
<script type="text/ecmascript">
$(document).ready(function(){
    $('#my_slide').hide();
    $('.my_button').click(function(){
        $('#my_slide').slideToggle('slow');
        return false;
    });
});
</script>

මෙහි $('#my_slide').hide(); මගින් my_slide, div එක සගවනවා. ඉතිරි පේලි වලින් කියන්නේ ලින්ක්‌ එක එබූ පසු my_slide, div එකට ස්‌ලයිඩ් වෙන ලෙසයි.

සබැදිය බලන්න

නැවත හමුවෙමු !

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 තොරතුරු සමග හමුවෙමු!