تابع ایجاد و خواندن Cookie در جاوا اسکریپت

_.cookie = function(name, value, options)
{
    if (typeof value === "undefined") {
        var n, v,
            cookies = document.cookie.split(";");
        for (var i = 0; i < cookies.length; i++) {
            n = $.trim(cookies[i].substr(0,cookies[i].indexOf("=")));
            v = cookies[i].substr(cookies[i].indexOf("=")+1);
            if (n === name){
                return unescape(v);
            }
        }
    } else {
        options = options || {};
        if (!value) {
            value = "";
            options.expires = -365;
        } else {
            value = escape(value);
        }
        if (options.expires) {
            var d = new Date();
            d.setDate(d.getDate() + options.expires);
            value += "; expires=" + d.toUTCString();
        }
        if (options.domain) {
            value += "; domain=" + options.domain;
        }
        if (options.path) {
            value += "; path=" + options.path;
        }
        document.cookie = name + "=" + value;
    }
};

 

ادامه مطلب

تبدیل چندضلعی به داده مسیر در جاوا اسکریپت (Polygon to Path Data)

[].forEach.call(polys,convertPolyToPath);

function convertPolyToPath(poly){
  var svgNS = poly.ownerSVGElement.namespaceURI;
  var path = document.createElementNS(svgNS,'path');
  var points = poly.getAttribute('points').split(/\s+|,/);
  var x0=points.shift(), y0=points.shift();
  var pathdata = 'M'+x0+','+y0+'L'+points.join(' ');
  if (poly.tagName=='polygon') pathdata+='z';
  path.setAttribute('id',poly.getAttribute('id'));
  path.setAttribute('fill',poly.getAttribute('fill'));
  path.setAttribute('stroke',poly.getAttribute('stroke'));
  path.setAttribute('d',pathdata);

  poly.parentNode.replaceChild(path,poly);
}

 

ادامه مطلب

فرض کنید ، می خواهید در صبح ،ظهر،عصر،شب و دیگر ساعات شبانه روز استایل متفاوتی برای سایت خود طراحی کنید ، برای اینکار بشکل ساده می توانید همانند مثال زیر عمل نمایید :

<script>
<!--
function getStylesheet() {
      var currentTime = new Date().getHours();
      if (0 <= currentTime&&currentTime < 5) {
       document.write("<link rel='stylesheet' href='night.css' type='text/css'>");
      }
      if (5 <= currentTime&&currentTime < 11) {
       document.write("<link rel='stylesheet' href='morning.css' type='text/css'>");
      }
      if (11 <= currentTime&&currentTime < 16) {
       document.write("<link rel='stylesheet' href='day.css' type='text/css'>");
      }
      if (16 <= currentTime&&currentTime < 22) {
       document.write("<link rel='stylesheet' href='evening.css' type='text/css'>");
      }
      if (22 <= currentTime&&currentTime <= 24) {
       document.write("<link rel='stylesheet' href='night.css' type='text/css'>");
      }
}

getStylesheet();
-->
</script>

<noscript><link href="main.css" rel="stylesheet"></noscript>

 

ادامه مطلب

در هر زبان برنامه نویسی روشی برای کامنت نویسی می باشد ، که با استفاده از آن برنامه نویس می تواند اطلاعاتی در رابطه با کد نوشته شده بنویسید بصورتی که اجرا نشود و اختلالی در برنامه ایجاد نکند ، با استفاده از این کامنت ها برنامه نویسان دیگر می توانند کد را توسعه داده و یا خود برنامه نویس بعد از مدت ها اگر به برنامه رجوع کرد ، کلید یادآوری برای خود قرار می دهد تا فراموش نکند در آن مرحله چکاری انجام داده است ، برای کامنت گذاری در جاوا اسکریپت می توانید بشکل زیر عمل کنید :

function doSomething() {

    /*
           کد نوشته شده توسط مصطفی
    */

    var i = 0;    // تعریف متغیر شمارنده ...;

}

 

ادامه مطلب

در خیلی مواقع نیاز اعداد را برای خوانایی بیشتر بصورت سه تایی جدا کنید ، که برای این کار در جاوا اسکریپت می توانید از تابع زیر استفاده نمایید .

function CommaFormatted(amount) {
	var delimiter = ","; // replace comma if desired
	var a = amount.split('.',2)
	var d = a[1];
	var i = parseInt(a[0]);
	if(isNaN(i)) { return ''; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while(n.length > 3) {
		var nn = n.substr(n.length-3);
		a.unshift(nn);
		n = n.substr(0,n.length-3);
	}
	if(n.length > 0) { a.unshift(n); }
	n = a.join(delimiter);
	if(d.length < 1) { amount = n; }
	else { amount = n + '.' + d; }
	amount = minus + amount;
	return amount;
}

 

ادامه مطلب

در برنامه نویسی گاهی اوقات شما تابعی را در یک فایل تعریف و در فایل دیگری صدا می زنید ، حالا قبل از اینکه تابع را صدا بزنید می توانید از وجود داشتن تابع اطمینان حاصل نمایید ، زیرا در برنامه نویسی وب خصوصاً ممکن است گاهی اوقات بعضی فایل ها بصورت کامل یا درست بارگذاری نشوند ، لذا برای بررسی وجود تابع می توانید از کد زیر استفاده نمایید :

if (typeof yourFunctionName == 'function') { 
  yourFunctionName(); 
}

 

ادامه مطلب

تا حالا در وب سایت ها مشاهده کردید ، که صفحه وب سایتی را بصورت iframe  نمایش می دهند؟ حالا اگر می خواهید صفحه وب سایت شما از طریق iframe به کاربران نمایش داده نشود شما می توانید برای جلوگیری از این حالت و خروج از حالت iframe از کد زیر در جاوا اسکریپت استفاده نمایید.

if (top.location!= self.location) {
   top.location = self.location.href;
}

 

ادامه مطلب

تابع جاوا اسکریپت افزودن Class به المان HTML :

function addClass(id,new_class){
       var i,n=0;

       new_class=new_class.split(",");

       for(i=0;i<new_class.length;i++){
               if((" "+document.getElementById(id).className+" ").indexOf(" "+new_class[i]+" ")==-1){
                       document.getElementById(id).className+=" "+new_class[i];
                       n++;
               }
       }

       return n;
}

 

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

<div id="changeme" class="big red"></div>
<button onclick="addClass('changeme', 'round')">Add a class</button>

ادامه مطلب

در جاوا اسکریپت شما می توانید دو متغییر را بصورت همزمان مقداری دهی نمایید ، برای این کار بشکل زیر عمل نمایید

var foo, bar;
foo = bar = 10;

 

فرض کنید دو متغییر بالا که یک مقدار عددی دارند و شما می خواهید بصورت همزمان به علاوه مقدار ۵ کنید ، می توانید بشکل زیر عمل نمایید :

foo += -bar + (bar += 5);

 

ادامه مطلب

برای اضافه کردن این خاصیت در جاوا اسکریپت بشکل زیر می توانید عمل نمایید

var b = document.documentElement;
b.className = b.className.replace('no-js', 'js');
b.setAttribute("data-useragent",  navigator.userAgent);
b.setAttribute("data-platform", navigator.platform );

 

 

پس از اجرا کد بالا المان HTML چیزی شبیه زیر خواهد شد

<html 
	data-useragent="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)"
	data-platform="Win32">
	...

همچنین در CSS می توانید انتخابگر المان را بشکل زیر می باشد

html[data-useragent*="Chrome/13.0"][data-platform="Win32"] {
  ...
}

 

ادامه مطلب