Visitors

សូមស្វាគមន៏ការចូលមកកាន់ប្លក់​ www.ideaforkhmer.blogspot.com​ របស់យើងខ្ញុំ។នៅទីនេះលោកអ្នកអាចស្វែងរកនូវចំនេះដឹងថ្មីុៗអំពី​ គណិតវិទ្យា​ រូបវិទ្យា គីមីវិទ្យា​ ពត៌មានវិទ្យា វប្បធម៌​ ធរិយធម៌​ ប្រវត្តិសាស្រ្ត​ និងចំនេះដឹងជាច្រើនទៀត។សូមចាប់ផ្ដើមការស្រាវជ្រាវរបស់លោកអ្នក (By: Vungsovanreach)

Thursday, February 27, 2014

បង្កើត​អក្សរ​អោយ​រត់​តាម​ព្រួញកណ្ដុរ (Text to follow mouse pointer)

      បាទ​ថ្ងៃ​នេះ​ខ្ញុំ​លើក​យក​គន្លឹះ​របស់ Blogspot មួយ​ទៀត​ដែល​ជា​ប្រភេទ Effect ដែល​ទាក់ទង​ជាមួយ ​ព្រួញកណ្ដុរ(Mouse pointer) ដែល​កាល​ពី​លើក​មុន​ខ្ញុំ​បាន​សរសេរ​អត្ថបទ​មួយ​ដែល​និយាយ​អំពី "បង្កើត​ផ្កាយ​តូចៗ​អោយ​ជ្រុះ​ចេញ​ពី Cursor នៅ​ពេល​មាន​ចលនា" ។ លើក​នេះ​ខ្ញុំ​​សូម​នាំ​កូដ​ (code) មួយ​ដែល​អាច​​​ធ្វើ​អោយ​អក្សរ​ដែល​យើង​បាន​កំណត់​រត់​ជុំវិញ​ព្រួញកណ្ដុរ និង​រត់​ដេញ​តាម​​​​នៅ​ពេល​មាន​ការ​ផ្លាស់​ប្ដូរ​ទីតាំង​ផង​ដែរ។ ក្នុង​ន័យ​​​ទាក់ទាញ​អ្នក​ចូល​ទស្សនា​នោះ យើង​អាច​ប្រើ​កូដ​ខាង​ក្រោម​នេះ​បាន​ដោយ​អនុវត្តន៍​ដូច​តទៅ៖
- កត់​ហេតុ​ចូល (Log​ In) ​គណនី Blogspot របស់​អ្នក​ដោយ​ចូល​តាម www.blogger.com
- ចូល​ទៅ Layout >> Add a Gadget នៅ​ទី​តាំង​ណាមួយ​ដែរ​ចង់​ដាក់ ជា​ទូ​ទៅ​ដាក់​នៅ Gadget ខាងស្តាំ។
- ស្វែង​រក​មើល Gadget ដែរ​មាន​ឈ្មោះ HTML/JavaScript (មើល​រូប​ខាង​ក្រោម​នេះ)


- បន្ទាប់​មក ចម្លង Code ខាង​ក្រោម​យក​ទៅ​ដាក់

 <style type='text/css'>
#outerCircleText {
font-style: italic;
font-weight: bold;
font-family: 'comic sans ms', verdana, arial;
color: #ff9900;
position: absolute;top: 0;left: 0;z-index: 3000;cursor: default;}
#outerCircleText div {position: relative;}
#outerCircleText div div {position: absolute;top: 0;left: 0;text-align: center;}
</style><br />
<br />
<script type='text/javascript'>
//<![CDATA[
;(function(){
// Your message here (QUOTED STRING)
var msg = "Idea For Khmer";
/* THE REST OF THE EDITABLE VALUES BELOW ARE ALL UNQUOTED NUMBERS */
// Set font's style size for calculating dimensions
// Set to number of desired pixels font size (decimal and negative numbers not allowed)
var size =18;
// Set both to 1 for plain circle, set one of them to 2 for oval
// Other numbers & decimals can have interesting effects, keep these low (0 to 3)
var circleY = 0.75; var circleX = 2;
// The larger this divisor, the smaller the spaces between letters
// (decimals allowed, not negative numbers)
var letter_spacing = 5;
// The larger this multiplier, the bigger the circle/oval
// (decimals allowed, not negative numbers, some rounding is applied)
var diameter = 10;
// Rotation speed, set it negative if you want it to spin clockwise (decimals allowed)
var rotation = 0.1;
// This is not the rotation speed, its the reaction speed, keep low!
// Set this to 1 or a decimal less than one (decimals allowed, not negative numbers)
var speed = 0.1;
////////////////////// Stop Editing //////////////////////
if (!window.addEventListener && !window.attachEvent || !document.createElement) return;
msg = msg.split('');
var n = msg.length - 1, a = Math.round(size * diameter * 0.208333), currStep = 20,
ymouse = a * circleY + 20, xmouse = a * circleX + 20, y = [], x = [], Y = [], X = [],
o = document.createElement('div'), oi = document.createElement('div'),
b = document.compatMode && document.compatMode != "BackCompat"? document.documentElement
:
document.body,
mouse = function(e){
e = e || window.event;
ymouse = !isNaN(e.pageY)? e.pageY : e.clientY; // y-position
xmouse = !isNaN(e.pageX)? e.pageX : e.clientX; // x-position
},
makecircle = function(){ // rotation/positioning
if(init.nopy){
o.style.top = (b || document.body).scrollTop + 'px';
o.style.left = (b || document.body).scrollLeft + 'px';
};
currStep -= rotation;
for (var d, i = n; i > -1; --i){ // makes the circle
d = document.getElementById('iemsg' + i).style;
d.top = Math.round(y[i] + a * Math.sin((currStep + i) / letter_spacing) * circleY - 15) +
'px';
d.left = Math.round(x[i] + a * Math.cos((currStep + i) / letter_spacing) * circleX) + 'px';
};
},
drag = function(){ // makes the resistance
y[0] = Y[0] += (ymouse - Y[0]) * speed;
x[0] = X[0] += (xmouse - 20 - X[0]) * speed;
for (var i = n; i > 0; --i){
y[i] = Y[i] += (y[i-1] - Y[i]) * speed;
x[i] = X[i] += (x[i-1] - X[i]) * speed;
};
makecircle();
},
init = function(){ // appends message divs, & sets initial values for positioning arrays
if(!isNaN(window.pageYOffset)){
ymouse += window.pageYOffset;
xmouse += window.pageXOffset;
} else init.nopy = true;
for (var d, i = n; i > -1; --i){
d = document.createElement('div'); d.id = 'iemsg' + i;
d.style.height = d.style.width = a + 'px';
d.appendChild(document.createTextNode(msg[i]));
oi.appendChild(d); y[i] = x[i] = Y[i] = X[i] = 0;
};
o.appendChild(oi); document.body.appendChild(o);
setInterval(drag, 25);
},
ascroll = function(){
ymouse += window.pageYOffset;
xmouse += window.pageXOffset;
window.removeEventListener('scroll', ascroll, false);
};
o.id = 'outerCircleText'; o.style.fontSize = size + 'px';
if (window.addEventListener){
window.addEventListener('load', init, false);
document.addEventListener('mouseover', mouse, false);
document.addEventListener('mousemove', mouse, false);
if (/Apple/.test(navigator.vendor))
window.addEventListener('scroll', ascroll, false);
}
else if (window.attachEvent){
window.attachEvent('onload', init);
document.attachEvent('onmousemove', mouse);
};
})();
//]]>
</script>


+ អ្នក​ត្រូវ​កែប្រែ​នៅ​ត្រង់៖
- color: #ff9900 (ពណ៌​លឿង​ទុំ) ទៅ​ជា​ពណ៌​ដែល​អ្នក​ចូល​ចិត្ត​ដោយ​ប្រើ​ប្រអប់​តម្លៃ​ពណ៌
- var msg = "Idea for khmer" : ដូរ​ពី​ពាក្យ Idea for khmerទៅ​ជា​​​អក្សរ​ដែល​អ្នក​ចង់​បាន (តែ​កុំ​សរសេរ​វែង​ពេក ​យើង​​មិន​អាច​សរសេរ​អក្សរ​ខ្មែរ​យូនីកូដ​បានទេ)
-​ var size =18 : កំណត់​ទំហំ​អក្សរ។
- var rotation = 0.1 : អ្នក​អាច​ដូរ​ទៅ 0.20.3 ដើម្បី​បង្កើន​ល្បឿន​រង្វិល​ជុំ​អក្សរ។
- var speed = 0.1 : អ្នក​អាច​ដូរ​ទៅ 0.20.3 ដើម្បី​បង្កើន​ល្បឿន​អក្សរ​ដេញ​តាម​ព្រួញ​កណ្ដុរ។


     Effect មួយ​នេះ​គឺ​ងាយស្រួល​​ប្រើ និង​ឈប់​ប្រើ​ណាស់ ព្រោះ​វា​មិន​ប៉ះពាល់​ដល់ Template ទេ ដោយ​គ្រានតែ​លុប​ Gadget ដែល​មាន​ផ្ទុក​កូដ​នោះ​ចោល​ជា​ការ​ស្រេច។ សង្ឃឹម​ថា​អ្នក​នឹង​រីករាយ​ជាមួយ​វា៕