顯示具有 jQuery 標籤的文章。 顯示所有文章
顯示具有 jQuery 標籤的文章。 顯示所有文章

2011年6月8日

[jQuery]Text欄位按enter鍵即執行某函數

範例:
            $('#dialog input[name=lalala]').bind('keypress', function(e){
                 var code = (e.keyCode ? e.keyCode : e.which);
                 if(code == 13) {     //Enter鍵的 keycode
                      do_something();    //某函數
                 }
            });

2011年4月27日

[jQuery]以Ajax取得資料,但在IE上沒有反應

問題:以Ajax方式取得一筆資料的全文資料,並即時更新在網頁上,但IE上沒有反應?
答:Ajax程式在送出資料之前,需先送出「資料格式與編碼」的header檔頭。
以PHP 為例,執行 la.php 可得到全文資料,若使用Ajax呼叫la.php,一定要先送出header再送出全文資料,如下

header('Content-Type: text/plain; charset=utf-8');
echo '全文資料.....';

如此IE上才能正常運作

2008年12月25日

[jQuery]高度/寬度/偏移/捲動/位置

[轉貼]

Document & Window 的高度與寬度:

$(window).height();
瀏覽器高度,相當於最後一個「工具列」下方、到「狀態列」上方的距離。

$(document).height();
整個HTML文件的總高度,可能小於或大於window高度。
改變瀏覽器大小時,window高度會改變,而document高度不會改變。

$(window).width(); //瀏覽器寬度
$(document).width(); //HTML文件的寬度


Scroll Offsets(滾動偏移):(obj_id 為 物件ID)

$(“#obj_id”).scrollTop();
取得Scroll bar已往下捲動的像素(pixel),例如往下捲動50px,此函數會return 50

$(“#obj_id”).scrollTop(50);
設定Scroll bar欲捲動到的像素位置,例如欲捲動到50px處,相當於內部對象上方隱藏50px

$(“#obj_id”).scrollLeft();
取得Scroll bar已往右捲動的像素(pixel),例如往右捲動50px,此函數會return 50

$(“#obj_id”).scrollLeft(50);
設定Scroll bar欲捲動到的像素位置,例如欲捲動到50px處,相當於內部對象左方隱藏50px

Offset(偏移):

$(“#obj_id”).offset(options);參數 options 可省略

官方解釋:獲得一個元素相對于viewport(視口)的位置。為了精確計算margins,borders,和padding的像素值。只能用于可見元素。

返回:object
擁有表示偏移值 top 和 left 屬性的對象,如果參數指定scroll:true,將返回更多的兩個屬性scrollTop 和 scrollLeft,表示滾動偏移位置。

參數:options 對象,配置偏移計算的方式

margin(Boolean),是否將元素的空白邊納入計算。默認:true;
border(Boolean),是否將元素的邊框納入計算,默認:False;
padding(Boolean),是否將元素的填充納入計算,默認:False;
scroll(Boolean),是否計算元素的滾動偏移,默認:True;

$(“#obj_id”).offset();
$(“#obj_id”).offset({border:true,margin:true});

Postion(相對位置):

$(“#obj_id”).position();
相對於父元素的偏移,返回為物件{top:34,left:5} (經測試,會取得距頁面頂端的像素)
ex. $(“#obj_id”).position().top; 即可取得距離頁面頂端的距離

[jQuery]將Scrollbar捲動至特定位置

jQuery範例:將Scroll bar 捲動至指定的一筆資料,使其能出現在可視範圍內

obj_id :「指定的資料」的 id
300(px):div_zone 距離頁面頂端的高度(ex. banner圖所佔的高度)
div_zone :div 區域的 id

var focus_seat = $('#obj_id').position().top - 300 + $('#div_zone').scrollTop() ;
$('#div_zone').scrollTop(focus_seat);

1. $('#obj_id').position().top :取得「指定的資料」距離頁面頂端的高度
(不是距離 div_zone 頂端的高度;div_zone 往下捲動後而看不到的上方區域,該區高度不會被計算在內)

2. 步驟1的高度 300px = 「指定的資料」目前距離 div_zone 頂端的高度
(div_zone 往下捲動後而看不到的上方區域,該區高度不會被計算在內)

3. $j('#div_zone').scrollTop() :取得 div_zone 目前捲動的高度
4. 「指定的資料」目前距離 div_zone 頂端的高度(步驟 2) + div_zone 目前捲動的高度(步驟 3 )
= div_zone 欲捲動到「指定的資料」所需的高度

2008年12月18日

[jQuery]checkbox、radio、select項目相關

[轉貼]
獲取一組radio被選中項的值
var item = $('input[@name=items][@checked]').val();
獲取select被選中項的文本
var item = $("select[@name=items] option[@selected]").text();
select下拉框的第二個元素為當前選中值
$('#select_id')[0].selectedIndex = 1;
radio單選組的第二個元素為當前選中值
$('input[@name=items]').get(1).checked = true;

獲取值:

文本框,文本區域:$("#txt").attr("value");
多選框checkbox:$("#checkbox_id").attr("value");
單選組radio: $("input[@type=radio][@checked]").val();
下拉框select: $('#sel').val();

控制表單元素:
文本框,文本區域:$("#txt").attr("value",''); //清空內容
$("#txt").attr("value",'11'); //填充內容

多選框checkbox: $("#chk1").attr("checked",''); //不打勾
$("#chk2").attr("checked",true); //打勾
if($("#chk1").attr('checked')==undefined) //判斷是否已經打勾

單選組radio: $("input[@type=radio]").attr("checked",'2'); //設置value=2的項目為當前選中項
下拉框select: $("#sel").attr("value",'-sel3'); //設置value=-sel3的項目為當前選中項
$("11112222").appendTo("#sel") //添加下拉框的option
$("#sel").empty();//清空下拉框
$j("#sel :selected").text(); //取得目前選中項的「文字