Javascript

[Javascript]製作瀏覽器不支援javascript時也能使用的Ajax按鈕

Ajax讓網路的世界就走入了web 2.0的時代,不過還是有時候有些瀏覽器不支援javascript,雖然有時候是刻意被關掉的,那麼要怎麼讓我們的ajax按鈕不受影響呢?
答案是 ─ 用連結來製作按鈕。

當瀏覽器不支援javascript時,就透過連結到ajax本來要取用資料的頁面,或者也可以讓連結到提示訪客該換瀏覽器開啟javascript支援

方法如下:

HTML部分(連結按鈕)

<a href="obj.html">按鈕</a>

javascript部份

$('a').click(function(e){
   //加上以下這一行,當瀏覽器支援javascript時可以避免跳頁,即我們原先需要的ajax功能
   e.preventDefault();
   ...
});

[Javascript] 常用的Math函數

Javascript提供了一些常見的數學函數,包含亂數(random)、無條件進位(ceil)、無條件捨去(floor)、指數(power)、平方根(sqrt)、絕對值(abs)...詳細函數可以在這裡查詢,以下僅介紹部分常用函數

Math.random(),回傳值範圍為 0 <= x < 1

Math.round(x),回傳 x 四捨五入後的整數值。

Math.floor(x),回傳 x 無條件捨去後的整數值。

Math.ceil(x),回傳 x 無條件進位後的整數值。

Math.abs(x),回傳 x 的絕對值。

Math.pow(x,n),回傳 x 的 n 次方。

Math.pow(x),回傳 x 的平方根。

結果:

 

[Javascript] 小數點四捨五入

在Javascript中 有一個專門用來四捨五入的函數 Math.round(),不過這個函數有個缺點,就是只能四捨五入到整數,如果要指定小數點位數來四捨五入的話,就必須自己寫函數囉。

自製的函數參考如下:

function floatRound(num, pos){
  return (Math.round( num * Math.pow(10,pos) ) / Math.pow(10,pos)).toFixed(pos);
}

原理說明:假設要四捨五入到小數點後n位,就先將目標數字乘上10的n次方後,四捨五入到整數,然後再除回來並指定位數

[Javascript] 日期&時間處理

Date() 應用 - 取得目前日期及時間

  var now= new Date();
  // 月份需要+1
  var month=now.getMonth()+1;
  var day=now.getDate();
  var year=now.getFullYear();
  var h=now.getHours();
  var i=now.getMinutes();
  var s=now.getSeconds();
  //取得目前的timestamp
  var tsp=now.getTime();
  document.write('今天的日期是:'+month + '-' + day + '-' + year);
  document.write('目前的時間是:'+h+ ':' + i+ ':' + s);
  document.write('目前的時間戳記是:'+tsp);
結果:
 

Date() 應用 - 字串轉時間

  var string1='2014-01-05';

[Javascript] 數字補0

有時候為了格式的整齊性,我們會需要讓數字補0,例如日期 2014-3-4 要變成 2014-03-04
不過javascript並沒有類似php一般有提供 %2d之類的語法可以讓我們自動補0,所以就需要自己寫函數囉!
函數如下: