顯示包含「js」標籤的文章。顯示所有文章
顯示包含「js」標籤的文章。顯示所有文章

2012/05/04

console.trace()

在webkit 的debug tool or firebug 用console.trace() 超方便 自動log 哂由咩js function call 入黎!!

2012/04/16

javascript get/set cookie

/*set Cookie*/
function setCookie(c_name, c_data, expireDays){
var date=new Date();
if (!expireDays) expireDays = 1000;

date.setTime(date.getTime()+expireDays*24*3600*1000);
document.cookie = c_name+'='+escape(c_data)+'; expires='+date.toUTCString()+'; path=/';
}

/*get Cookie*/
function getCookie(c_name) {
if (document.cookie.length>0) {
c_start=document.cookie.indexOf(c_name + "=");
if (c_start!=-1) {
c_start=c_start + c_name.length+1;
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end));
}
}
return "";
}

2011/12/21

取得jQueryUI Tabs的當前tab panel

節選並翻譯自http://stackoverflow.com/questions/300078/jquery-ui-tabs-get-currently-selected-tab-index 雖然該帖子已經有些時日,不過我沒有發現有人提及這個方案: 如果不在Tab的事件(tab events ,http://jqueryui.com/demos/tabs/#events )中,如何取得當前tab ( "selected tab" )--當前選中的tab的下面的顯示內容的panel。我有一個簡單的方式... 


  1. var curTab = $( '.ui-tabs-panel:not(.ui-tabs-hide)' );  

你可以很容易的得到索引號index, 完全正確, 下面是其文檔中提及的方式 


  1. var $tabs = $( '#example' ).tabs();  
  2. var selected = $tabs.tabs( 'option' ,  'selected' );  // => 0  


不過你可以用我說的方式來獲取索引號index 或者其他任何當前panel的屬性.. 

  1. var curTab = $( '.ui-tabs-panel:not(.ui-tabs-hide)' ),  
  2.     curTabIndex = curTab.index(),  
  3.     curTabID = curTab.prop( "id" ),  
  4.     curTabCls = curTab.attr( "class" );  

2011/12/20

被遺忘的 toFixed()

javascript 的 toFixed(n) 可以將數字round up 到小數點後n 個位

var num = 0;

num = new Number(21);
num.toFixed(1) --> 21.0

num = new Number(21.3456);
num.toFixed(0) --> 21
num.toFixed(2) --> 21.35
num.toFixed(4) --> 21.3456

2011/04/25

local search at html page

如果想幫個網站的一版做search function
以下的code 係好幫
一search 就會highlight 所有keyword

我用左jquery~
function highlightKeyword(){
var keyword = $('#keyword').attr('value');
keyword='('+keyword+')';

var patt=new RegExp(keyword,'gi');

var oriHTML = $('#body').html();

// 用regular expression 去replace keyword 的style
var newHTML=oriHTML.replace(patt, '<span style="color:#000000; background-color:yellow; font-weight:bold;">$1</span>');

$('#body').html(newHTML);
}

2011/04/10

jquery $.each 的問題

用jquery 的$.each 好好用
尤其係對array 入面的野
但當我要splice 個array 的時候就好唔方便了 ><

SAMPLE:
$.each(array, function(i, item){
    if (!item.name || item.name == '' ){
        array.splice(i, 1);
        i--;
    }
});

這是冇用的
因為個i 係每個function 計
改變唔到出面個i
所以就算splice 到都會出error...

要用普通的for loop 得 ~

2011/03/16

iphone4 detection 找出iphon4

一個用javascript 找出iphone 4 的方法
iphone 4 的mon 同其他iphone 主要唔同之處係個mon
因為個mon 的display 唔同, 所以寫website 的時候要用唔同的方法~~

  1. 先用user agent 找出iphone
  2. 再用webkit 獨有的javascript object  (devicePixelRatio) , 因為iphone 4 有 retina display, 所以device ratio 會是2, iphone 3 同iphone 3gs 是 1

vas isiPhone4 = false;
var userAgent = window.navigator.userAgent;
if (userAgent.toLowerCase().indexOf('iphone') != -1){
  // is iphone
  if (window.devicePixelRatio && window.devicePixelRatio == 2){
    // is iphone4
    isiPhone4 = true;
  }
}

2011/03/10

js change obj to param string

js 用會 {id:12, name:'user'} 來做data,
點可以好快咁變成 id=12&name=user 呢?
ajax call 時好好用的~!

var params = {id:12, name:'user'};

jquery:
$.param(params);
PS: space 會變做+


prototype:
Object.toQueryString(params);
PS: space 會變做%20


js trim

how to trim a string using js?

function trim(str){
 return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}


function trim(str){
 return str.replace(/^\s+|\s+$/g, '');
}

str = trim(str);


jquery:
str = $.trim(str);


str =  str.strip();

2011/03/05

add element after an element

如何在某個element之後新增一個element呢~?
原來jQuery 同 Prototype 都各自有 method



jQuery--
$('#eleId').after('<b>Hello</b>');

Prototype--
$('eleId').insert({
after: '<b>Hello</b>'
});