گزیر

::گاهنوشتهای حمیدرضا محمدی::



دربارهٔ من:

آخرین نظردهندگان:

مشترک شوید:

ایمیل خود را در جعبهٔ زیر وارد کنید و دکمهٔ اشتراک را بزنید.

جستجو:

Valid XHTML 1.0 Transitional RSS Feed

لیستهای مرتب با اعداد فارسی

۸۸/۱۰/۱۵

تگ ol (لیست مرتب) در html در CSS ویرایش ۲ توانایی نمایش اعداد به صورت فارسی را ندارد (از اعداد لاتین، رومی و ارمنی(!) پشتیبانی می‌کند اما اعداد را به صورت عربی یا فارسی نمی‌تواند نشان دهد). استایلهای انواع لیستها را در این استاندارد اینجا می‌توانید ببینید. در استاندارد جدیدتر گویا قرار است پشتیبانی از شکل اعداد فارسی هم اضافه شود.

چند وقتی است استقبالهای شاعران را از هم (حافظ از سعدی، حافظ از سلمان، سلمان ساوجی از سعدی و …) را با توجه به میزان مشابهت کلمات ابیات و همینطور با توجه به وزن و قافیهٔ اشعار استخراج کرده‌ام و در گنجور در دسترس قرار داده‌ام. دیروز به نظرم رسید بد نیست این فهرستها را با کمک تگ ol شماره‌گذاری کنم. اما با توجه به نکته‌ای که در پاراگراف قبل گفتم امکان نمایش درست اعداد در متن فارسی وجود نداشت. جستجویی کردم و به این صفحه رسیدم. نویسندهٔ مطلب به کمک جاوا اسکریپت مشکل را حل کرده. با کمک اسکریپت او، اسکریپت ساده‌ای نوشتم که امکان نمایش اعداد لیستهای مرتب را به صورت فارسی در اختیار می‌گذارد:

//Original Code & Author: M Saleh EG[dot1ne] www.dot1ne.com
function faol(){
        ols = document.getElementsByTagName(“ol”);
  for(i=0; i<ols.length; i++){
                 list=faolgetListItems(ols[i]);  
                 lis=faformatListItems(list);
                newOL=document.createElement(“ol”);
         newOL.style.listStyleType = “none”;
                 newOL.style.paddingRight = “0px”;
                 newOL.style.marginRight = “10px”;            
         for(var k=0; k<lis.length; k++)
                        newOL.appendChild(lis[k]);
             newOL.id=ols[i].id;
                 newOL.className=ols[i].className;
                 ols[i].parentNode.replaceChild(newOL, ols[i]);
                       
        } 
}
function  faolgetListItems(ol){
             lis = new Array();
         for(var i=0; i < ol.childNodes.length; i++){
          if(ol.childNodes[i].nodeName == “LI” || ol.childNodes[i].nodeName == “li”){
              ol.childNodes[i].style.direction=“rtl”;
              ol.childNodes[i].style.textAlign=“right”;
                  if(ol.childNodes[i].childNodes[0].className==“dot1_ol”)
                  ol.childNodes[i].removeChild(ol.childNodes[i].childNodes[0]);   
              lis.push(ol.childNodes[i]);
              }
         }
                 return lis;
};        
function faformatListItems(list_items) {
             for(var i=0; i < list_items.length; i++){
         index=i+1;
                 list_items[i].innerHTML = “<span class=\”dot1_ol\” style=\”display:block;float:right;width:20px;\” >” + bshfarsinum(String(index)) + “.  &nbsp;</span>” + list_items[i].innerHTML;
                 }      
                 return list_items;
          };
function bshfarsinum(englishnum)
{
  var result = “”;
  for(var i=0; i<englishnum.length;i++)
 {
   result = result +String.fromCharCode(englishnum.charCodeAt(i)+0x6C0);
 }
 return result;
}

که در نهایت با فراخوانی آن در رویداد onload می‌توان به مقصود رسید:

<script type=“text/javascript” language=“JavaScript” src=“faol.js”></script>
<script type=“text/javascript”>
  window.onload = function() {faol();}
</script>

عملکرد کد را در فایرفاکس ۳.۵ و اینترنت اکسپلورر ۸ آزمایش کردم و مشکلی ندیدم.

استقبالهای حافظ از سعدی






۴ نظر

Aderyan:

تاریخ: ۸۸/۱۲/۲۹ ساعت: ۱۰:۰۲

ممکن این یک فایل که تست شده رو برای دانلود بزارید و یا لینک بدید و یا میل کنید من واقعا به این نیاز دارم اما برای من کار نکرد ممنونم

ناشناس:

تاریخ: ۸۹/۰۲/۲۲ ساعت: ۱۹:۱۹

سلام سایت جالبی دارید
از سورس (نظر بدهید) سایت شما استفاده کردم برای سایتم
مر۳۰

ناشناس:

تاریخ: ۸۹/۰۶/۳۰ ساعت: ۱۹:۴۲

bad nabod vali mishe yekam darbareye khate chine amozesh bedid

حمیدرضا:

تاریخ: ۸۹/۱۱/۲۲ ساعت: ۱۸:۲۷

دوستان علاقمند اینجا را هم ببینند:
http://vedadian.net/fa/2011/01.....red-lists/

خروجی آر.اس.اس نظرات این نوشته:»

ارسال دنبالک:»

ارسال نظر برای این نوشته امکانپذیر نیست.