توفر مواصفات HTML 4.0 الجديدة التي حددتها منظمة W3C ( www.w3c.org ) أدوات أكثر قوة لكل مصمم ويب، وهذا تغيير يؤثر على جميع مطوري ومصممي الويب الذين فكروا في التأثيرات الديناميكية في الماضي يمكن الآن تحقيق ما لا يمكن تصوره بسهولة بمساعدة DHTML وCSS. فيما يلي وصف تفصيلي لتنفيذ بعض التأثيرات أثناء عملية تجميع صفحة الويب، وآمل أن تتمكن من استخدامه لإضفاء الحيوية على صفحة الويب الخاصة بك.
* تقنية القائمة
إذا كان الأشخاص الذين زاروا مواقع Microsoft وMacromedia حريصين، فسوف يلاحظون بالتأكيد تقنية القائمة. انقر لعرض قائمة فرعية، ثم انقر مرة أخرى لإخفاء القائمة الفرعية، فهي مثيرة للاهتمام وعملية للغاية. قام المؤلف بتنزيل هاتين الصفحتين على التوالي، وبعد تحليل الكود المصدري، وجدت أنهما لم يستخدما نفس الطريقة، ولكلا الطريقتين إيجابيات وسلبيات خاصة بهما.
يستخدم Macromedia تقنية متعددة الصفحات. وهذا يعني أولاً إنشاء صفحة قائمة رئيسية بدون عناصر موسعة، ثم إنشاء صفحة لكل عنصر قائمة رئيسية موسعة. ما هو عدد الصفحات الفرعية المطلوبة لتتوافق مع عدد العناصر في القائمة الرئيسية. ولنضرب مثالا بسيطا للتوضيح:
<html>
<head>
<title>مثال على القائمة</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF ">
<a name="abc"></a><p>
<a href="menu_2.htm#abc"><b>انقر هنا!</b></a>
</body>
</html >
<html>
<head>
<title>مثال على القائمة</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="# FFFFFF">
<p><a name="abc"></a></p>
<p><a href="menu_1.htm#abc">
<b>انقر هنا!</b></a > </p>
القائمة 1
القائمة 2
القائمة 3
</body>
</html>
انقر فوق انقر هنا في الشكل 1 وسيظهر تأثير الشكل 2. أثناء التنفيذ المحدد، يجب الانتباه إلى تعريف واستخدام العلامة <a name=" ">، وتحقيق المراسلات الفردية، وإلا فسيكون الأمر فوضويًا. بالإضافة إلى ذلك، عندما يكون هناك العديد من عناصر القائمة، تذكر أنه يتم تعريف القائمة الفرعية المدرجة حاليًا فقط بـ <a name=" ">، ويجب ربط عناصر القائمة الرئيسية الأخرى بالصفحات الموسعة المقابلة لها.
هذه الطريقة سهلة التنفيذ للغاية، ويمكن للأشخاص العاديين إتقانها بسرعة، ويمكن دعمها بواسطة أي متصفح، ولكن عيوبها واضحة أيضًا. أولاً، إنه بطيء، سيؤدي حتماً إلى انتظار طويل عند استدعاء كل صفحة. فقط عندما تكون الصفحة مليئة بالنص، لن تشعر بالركود. ثانيًا، من الصعب تجميعها ، من المزعج بعض الشيء إنتاج واحدة تلو الأخرى. ولذلك، لا تزال هذه التكنولوجيا لديها بعض القيود.
تستخدم Microsoft تقنية DHTML. تعد DHTML تقنية جديدة نسبيًا، لذلك بالنسبة لبعض المتصفحات "القديمة"، فإن طريقة تنفيذ القائمة هذه غير مجدية.
دعونا نعطي مثالا للتوضيح.
كما هو موضح في الشكل 3، انقر فوق "المنتجات والخدمات" وستظهر القائمة التالية على الفور. انقر مرة أخرى وسوف تختفي. إنها نفس Macromedia، ولكن الفرق هو أنها تبدو أسرع بكثير .
<html>
<head>
<meta HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
<title>مرحبًا بك في صفحة Microsoft الرئيسية</title>
<style TYPE="text/css">
.NV1 {font-family:Arial;font-weight:bold;font-size:.9em;cursor:hand;margin-top:10;text-indent: -14;margin -left: 14;}
.NV2 {position:relative;font-size:.9em;font-weight:normal;}
</style>
</الرأس>
<الجسم>
<script TYPE="text/javascript">
وظيفة clikker(a,b) {
if(
a.style.display==
') {
a.style.display = 'none
'
;
;
b.src='dsmh.gif';
}
}
</script>
<div CLASS="NV1" ID="BB" onClick="clikker(BB1,BBp);">
<dd><img ID="BBp" " SRC = "dsmh.gif" ALT = "*" ALIGN = "MIDDLE" BORDER = "0" WIDTH = "11" HEIGHT = "11">
المنتجات والخدمات
<div CLASS = "NV2" ID = "BB1" STYLE ="display:';"
onclick="window.event.cancelBubble = true;">
<a HREF="/products/"><p>كتالوج المنتجات</a>
<a HREF=" http://support.microsoft.com/support/">الدعم الفني </a>
<a HREF="/events/">الأحداث والندوات</a>
<a HREF="/train_cert/">التدريب والاعتماد</a>
<a HREF="/referral/sr_default.asp">الإحالات إلى أطراف ثالثة</a> </p>
</div>
</dd>
</div>
</body>
</html>
في الكود المصدري، يعد .NV1 و.NV2 تعريفات لخطوط CSS، وتتحكم وظيفة clikker في عرض عناصر القائمة وإخفائها، ويتحكم المتغير b في الصور (لا يظهر في الصورة بسبب التنزيل غير الكامل). في التطبيق الفعلي، يرجى الانتباه إلى النطاق المحدد بواسطة div وعدم إخفاء عناصر القائمة الرئيسية الأخرى عند النقر.
تعد طريقة التنفيذ التي تقدمها Microsoft ذكية نسبيًا، كما أنها سريعة وبسيطة الإنشاء نسبيًا، ولا تتطلب سوى صفحة واحدة. العيب هو أنه يتطلب على الأقل دعم IE 4.0 أو NN 4.0 أو أعلى.
كلتا الطريقتين لهما إيجابيات وسلبيات خاصة بهما، أي منهما تختاره يعتمد على طبيعة صفحتك الرئيسية ودعم المتصفح.
* تغيير لون النص
هذه هي التقنية الأكثر شيوعًا على الويب عندما يتحرك الماوس فوق عنصر ما، يتغير لون العنصر فورًا ويصدر صوتًا في بعض الأحيان، تمامًا مثل البرامج التعليمية متعددة الوسائط. إذا قمت بخلط الألوان جيدًا، ستكون الصفحة ممتعة جدًا للعين.
هناك العديد من الطرق لتحقيق تغيير لون النص، ونقدم هنا اثنتين منها فقط بشكل مختصر.
الطريقة الأولى هي استخدام تقنية CSS. حاليًا، يدعم IE 4.0 هذه التقنية فقط. رمز العينة الخاص به هو كما يلي.
<أتش تي أم أل>
<head>
<title>دراسة للديناميكيات السكانية</title>
<style type="text/css">
BODY { الخلفية: أبيض }
أ: الرابط { اللون: أحمر }
أ: تمت الزيارة { اللون: كستنائي }
أ: نشط { اللون: فوشيا }
أ: تحوم {اللون: أزرق}
</style>
</head>
<body>
<p> <a href=" www.microsoft.com ">
هذا هو أبسط مثال لاستخدام تقنية CSS للتحكم في لون النص.</a></p>
</body>
</html>
في هذا المثال، يتم عرض نص الارتباط في البداية باللون الأحمر، ويتحول إلى اللون الأزرق عندما يتحرك الماوس فوق النص، ويتغير إلى اللون الأرجواني عند النقر عليه للوصول، ويتحول إلى اللون العنابي بعد الوصول. نظرًا لأن Netscape لا يدعم بعد سمات CSS مثل الارتباط والزيارة والتمرير، فلن تتمكن من رؤية هذه التأثيرات إذا كنت تستخدم Communicator.
الطريقة الثانية هي استخدام JavaScript لكتابة برنامج نصي صغير للتشغيل لتحقيق غرض تغيير اللون. رمز العينة الخاص به هو كما يلي.
<html>
<head>
<title>تغيير لون النص</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
.css1 { Font-family: "Courier New"، Courier، mono؛ الوزن: اللون الغامق: أزرق}
-->
</style>
<script language="JavaScript">
function MM_changeProp(objStrNS,objStrIE,theProp,theValue) {
var theObj = eval((navigator.appName == 'Netscape')?objStrNS:objStrIE
if ((theObj != null) && (theProp.indexOf("style.") != 0 &&
theObj.style != null))
eval(((navigator.appName == 'Netscape')?objStrNS:objStrIE)+'.'+theProp + '=" '+theValue+''"');
}
</script>
</head>
<body bgcolor="#FFFFFF">
<span class="css1" ID="x"
onmouseover="MM_changeProp(','document.all [ 'x']','style.color','red','SPAN')" onmouseout="MM_changeProp(','document.all['x']','style.color', ' blue','SPAN')">
تغيير لون النص.</span>
</body>
</html>
بما أن IE 4.0 وNN 4.0 لهما آليات تحكم مختلفة للكائنات، فأنت بحاجة إلى التحقق من المتصفح أولاً ثم إجراء ذلك التعامل المقابل مع. تطبق الدالة MM_changeProp() طريقة تغيير لون النص هذه. تتطلب هذه الطريقة تحديد المعرف بالامتداد وإضافة onmouseover وonmouseout في كل مكان يجب تغييره فيه، وهو أمر أكثر إزعاجًا من الطريقة الأولى. لذلك، إذا لم يكن لديك رأي قوي ضد مايكروسوفت، فمن الأفضل استخدام الطريقة الأولى.
* الأزرار الديناميكية
الأزرار الديناميكية هنا ليست رسومًا متحركة بتنسيق .gif ولا أزرار التأثيرات الخاصة المتنوعة المتوفرة في FrontPage. أعتقد أنك واجهت هذا الموقف: عندما يتحرك الماوس فوق زر معين، فإنه يتحرك فجأة، ويبدو أنه يغريك بالنقر فوقه. إنه أمر مثير للاهتمام، أليس كذلك؟ دعونا ننفذها أدناه.
أولاً، يجب عليك إعداد صورتين نظرًا لأنهما عبارة عن أزرار، فلا يجب أن تكونا كبيرتين جدًا ولا يجب أن تكون الألوان خيالية جدًا صورتين حتى لا تظهرا بعد النقل. فيما يلي صورتان قمت بإنشائهما.
بعد ذلك، دعونا نلقي نظرة على كيفية تحقيق التأثيرات الديناميكية. كود المصدر الخاص به هو كما يلي.
<html>
<head>
<title>أزرار الدفع</title>
</head>
<body bgcolor=ffffff>
<script>
<!--
versionButton = 1
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion );
if ( browserVer >= 3)
versionButton = "3";
if (versionButton == "3")
{
toc1on=
new Image(42, 197)
;
Image(42, 197);
toc1off.src = "home.gif"
}
;
function img_act(imgName)
{
if (versionButton == "3")
{
imgOn = eval(imgName + "on.src");
document [imgName].src = imgOn
}
}
function img_inact(imgName)
{
if (versionButton == "3")
{
imgOff = eval(imgName + "off.src");
document [imgName].src = imgOff
}
}
// -->
</script>
< a href=http://www.microsoft.com
onMouseover = "img_act('toc1')"
onMouseout = "img_inact('toc1')"><img src=home.gif
width=100 height=50 border=0 name ="toc1"></a>
</body>
</html>
هناك شيئان يجب ملاحظتهما:
1. تأكد من تعيين اسم لـ img، ثم قم بتطبيق هذا الاسم على تعريف الصورة المصدر.
2. انتبه إلى الرموز المختلفة في الملف المصدر، وخاصة علامات الاقتباس، وانتبه أيضًا إلى مسار ملف الصورة المصدر، ومن الأفضل استخدام مسار نسبي لمنع عدم عرض الموقع بشكل صحيح بعد التحميل. وبطبيعة الحال، تتطلب هذه الطريقة لتبادل الصور أيضًا دعم إصدار المتصفح 4.0 أو أعلى. إذا كنت لا تزال تستخدم إصدار المتصفح 3.0، فقم بالترقية في أقرب وقت ممكن!
* إذا طُلب منك ذلك،
ضع الماوس على الصورة وستظهر معلومات المطالبة، تمامًا مثل أزرار العديد من البرامج التي توفر مطالبات وظيفية. هذه الوظيفة سهلة التنفيذ في تحرير صفحة الويب، فلنلقي نظرة على تأثيرها.
من السهل تحقيق هذا التأثير، ما عليك سوى إلقاء نظرة على الكود المصدري.
......
<tr>
<td WIDTH = "57"><a HREF = "who.html" TARGET = "الرئيسي"
ONMOUSEOVER = "img_act ('who')"
ONMOUSEOUT = "img_inact ('who') "><img
SRC = "../images/button_who0.gif" NAME = "who"
title = "الملف الشخصي لـ Zhou Huajian" ALT = "من أنا"
BORDER = "0" WIDTH = "113" الارتفاع = "45 "></a>
<a HREF="who.html" TARGET="_parent" ONMOUSEOVER="img_act('who')" ONMOUSEOUT="img_inact('who')">
</a></td>< /tr>
...
الجزء الذي تحته خط من الكود هو كيفية القيام بذلك. سمة العنوان مفيدة جدًا! يمكن استخدامه في كافة العناصر باستثناء BASE وBASEFONT وHEAD وHTML وMETA وPARAM وSCRIPT وSTYLE وTITLE لتحديد المعلومات السريعة عند مرور الماوس فوقها.
لقد ناقشنا أعلاه بالتفصيل بعض النصائح في عملية تجميع صفحات الويب. هناك العديد من الصفحات المصممة بشكل جميل والمتقدمة تقنيًا على الويب، ويعد تحليل كود المصدر الخاص بها طريقة جيدة للتعلم. تتقدم تكنولوجيا الكمبيوتر باستمرار. في مواجهة هذه التقنيات الجديدة التي تأتي الواحدة تلو الأخرى: DHTML، CSS، XML... لا يمكننا إلا مواجهة الصعوبات وإتقانها وتطبيقها على صفحات الويب الخاصة بنا لجعل صفحات الويب الخاصة بنا أكثر نشاطًا.
(مكتب السياحة تيانجين جيشيان 301900 جيا هيجينغ)