الأحد، 22 فبراير 2009

إخفاء فاصل العناصر في القائمة العلوية عند استخدام العنصر asp:Menu في ASP.NET

لا شك أن جميع مبرمجي المواقع الذين يستخدمون تقنية ASP.NET يستخدمون العنصر asp:Menu وذلك لعرض قائمة علوية أو جانبية إما بشكل ثابت Static Items أو من الملف web.sitemap حيث يستطيع المبرمج كتابة هيكلية القائمة بشكل كامل وإجراء الإعدادات اللازمة لعرضها باستخدام العنصر asp:Menu, لكن هناك مشكلة بسيطة تظهر عند استخدام هذا العنصر لعرض القائمة العلوية وهي ظهور فاصل إضافي الذي يفصل بين عناصر القائمة العلوية كما في الشكل التالي:




طبعاً بحثت عن أسهل حل وأقله تكلفة على الأداء (قد يكون هناك حل آخر أفضل وأسهل من الحل المطروح), وهذا الحل يتضمن استخدام شيفرة JavaScript وذلك كما يلي:



var sepImages = document.images;
var lastImage = null;
for (i = 0; i < sepImages.length; i++)
{
if (sepImages[i].src.indexOf('YOUR_SEPARATOR_IMAGE_NAME') >= 0)
{
lastImageId = sepImages[i];
}
}
lastImageId.style.display = 'none';



  • YOUR_SEPARATOR_IMAGE_NAME: اسم الصورة التي تمثل صورة الفاصل بين عناصر القائمة.

ليست هناك تعليقات:

إرسال تعليق