لماذا نحن بحاجة لتمرير المتغيرات عبر التوابع
إن تمرير المتغيرات يمكننا من استخدام التابع من خلال تغيير قيم هذه المتغيرات فقط
التمرير بعد التابع مباشرة عند تعليمة الإظهار:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> muliple </title>
</head>
<body>
<div>
<p>3*2 = </p>
<p id="re"> </p>
</div>
<script>
function multi(a,b) {
return a*b;
}
document.getElementById("re").innerHTML=multi(3,4);
</script>
</body>
</html>
التمرير في نص الـHTML عند الضغط على الزر:
يتم استدعاء التابع عند الحدث onclick
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> hello </title>
</head>
<body>
<button onclick="showtxt('Hello')">show</button>
<p id="re"></p>
<script>
function showtxt(txt)
{
document.getElementById("re").innerHTML=(txt);
}
</script>
</body>
</html>
سنمرر المتحول عند الضغط على الزر ونقوم بعملية الضرب:
يتم استدعاء التابع عند الحدث onclick
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> muliple </title>
</head>
<body>
<div onclick="return multi(4);">
<button> result </button>
<p id="re"> </p>
</div>
<script>
function multi(a) {
document.getElementById("re").innerHTML=a*3;
}
</script>
</body>
</html>
تكبير صورة عند الضغط عليها باستخدام الاستدعاء this
إن الاستدعاء this يأتي بمحتويات العنصر الحالي لذلك فهو هام جدا وكثير الاستخدام
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> zoom in </title>
</head>
<style>
#sh img{
width:10%;
height:100px;
}
#hid {
display:none;
width:400px;
margin:auto;
height:300px;
}
#hid img{
width:100%
}
</style>
<body>
<div id=sh onclick="return showImge(this.innerHTML);">
<img src="http://on5tl.com/edu/wp-content/uploads/2015/07/4500361044.png" />
</div>
<div id="hid">
</div>
<script>
function showImge(x) {
document.getElementById("hid").style.display = "block";
document.getElementById("hid").innerHTML=x;
}
</script>
</body>
</html>
سنقوم بمناقشة التمرين السابق
- نحدد div مخفية ونجعل لها أبعاد مناسبة وهي الـ div التي ستظهر بها الصورة مكبرة
#hid { display:none; width:400px; margin:auto; height:300px; } - الصورة ستظهر ضمن هذه الـ div بنفس أبعاد الـdiv المحدد مسبقا وستأخد كامل المجال :
#hid img{ width:100% } - أما الصورة الصغير التي ستظهر للمستخدم وسيقوم بالضغط عليها لتكبيرها فستكون بأبعاد صغيرة ضمن الـdiv التي أعطيناها اسم sh
#sh img{ width:10%; height:100px; } - التابع سيقوم بإظهار الـdiv بالاضافة إلى وضع محتوى الـdiv الظاهرة sh ضمن الـdiv المخفية ,
سمينا هذا المحتوى برمز x وسنقوم بتمريره عند الاستدعاء كمحتوى للـdiv - أخيرا استدعاء التابع عند الحدث onclick
<div id=sh onclick="return showImge(this.innerHTML);">