七:Ajax支持
通用方式:
$.ajax(prop) 通過一個(gè)ajax請求,回去遠(yuǎn)程數(shù)據(jù),prop是一個(gè)hash表,它可以傳遞的key/value有以下幾種。
(String)type:數(shù)據(jù)傳遞方式(get或post)。
((String)url:數(shù)據(jù)請求頁面的url
((String)data:傳遞數(shù)據(jù)的參數(shù)字符串,只適合post方式
((String)dataType:期待數(shù)據(jù)返回的數(shù)據(jù)格式(例如 "xml", "html", "script",或 "json")
((Boolean)ifModified:當(dāng)最后一次請求的相應(yīng)有變化是才成功返回,默認(rèn)值是false
((Number)timeout:設(shè)置時(shí)間延遲請求的時(shí)間??梢詤⒖?/span>$.ajaxTimeout
((Boolean)global:是否為當(dāng)前請求觸發(fā)ajax全局事件,默認(rèn)為true
((Function)error:當(dāng)請求失敗時(shí)觸發(fā)的函數(shù)。
((Function)success:當(dāng)請求成功時(shí)觸發(fā)函數(shù)
((Function)complete:當(dāng)請求完成后出發(fā)函數(shù)
jQuery代碼及說明
$.ajax({url: "ajax.htm",
success:function(msg){
$(div"#a").html(msg);
}
});
將ajax.htm返回的內(nèi)容作為id為a的div內(nèi)容
$.ajax({ url: "ajax.aspx",
type:"get",
dataType:"html",
data: "name=John&location=Boston",
success:function(msg){
$("#a").html(msg);
}
});
用get方式向ajax.aspx頁面?zhèn)鲄?shù),并將返回內(nèi)容負(fù)給id為a的對象。
$.ajaxTimeout(time) 設(shè)置請求結(jié)束時(shí)間
$.ajaxTimeout( 5000 )
其它簡化方式:
$.get(url, params, callback) 用get方式向遠(yuǎn)程頁面?zhèn)鬟f參數(shù),請求完成后處理函數(shù),除了url外,其它參數(shù)任意選擇!
$.get( "ajax.htm" , function(data){ $("#a").html(data) })
$.get( "ajax.asp",
{ name: "young", age: "25" },
function(data){ alert("Data Loaded: " + data); }
)
$.getIfModified(url, params, callback) 用get方式向遠(yuǎn)程頁面?zhèn)鬟f參數(shù),從最后一次請求后如果數(shù)據(jù)有變化才作出響應(yīng),執(zhí)行函數(shù)callback
$.getJSON(url, params, callback) 用get方式向遠(yuǎn)程json對象傳遞參數(shù),請求完成后處理函數(shù)callback。
$.getScript(url, callback) 用get方式載入并運(yùn)行一個(gè)遠(yuǎn)程javascript文件。請求完成后處理函數(shù)callback。
$.post(url, params, callback) 用post方式向遠(yuǎn)程頁面?zhèn)鬟f參數(shù),請求完成后處理函數(shù)callback
load(url, params, callback) 載入一個(gè)遠(yuǎn)程文件并載入頁面DOM中,并執(zhí)行函數(shù)callback
$("#a").load("ajax.htm", function() { alert("load is done"); } );
向ajax.htm頁面發(fā)出請求,將返回結(jié)果裝入id為a的內(nèi)容中,然后再執(zhí)行函數(shù)callback。
loadIfModified(url, params, callback) 用get方式向遠(yuǎn)程頁面?zhèn)鬟f參數(shù),從最后一次請求后如果數(shù)據(jù)有變化才作出響應(yīng),將返回結(jié)果載入頁面DOM中,并執(zhí)行函數(shù)callback
ajaxStart(callback)當(dāng)ajax請求發(fā)生錯(cuò)誤是時(shí)執(zhí)行函數(shù)callback
ajaxComplete(callback) 當(dāng)ajax請求完成時(shí)執(zhí)行函數(shù)callback
ajaxError(callback) 當(dāng)ajax請求發(fā)生錯(cuò)誤時(shí)執(zhí)行函數(shù)callback
ajaxStop(callback) 當(dāng)ajax請求停止時(shí)執(zhí)行函數(shù)callback
ajaxSuccess(callback) 當(dāng)ajax請求成功時(shí)執(zhí)行函數(shù)callback
posted @
2010-09-02 14:16 David1228 閱讀(358) |
評論 (0) |
編輯 收藏
六:事件處理
hover(Function, Function) 當(dāng)鼠標(biāo)move over時(shí)觸發(fā)第一個(gè)function,當(dāng)鼠標(biāo)move out時(shí)觸發(fā)第二個(gè)function
樣式:<style>.red{color:#FF0000}</style>
Html代碼: <div id="a">sdf</div>
jQuery代碼及效果
$(function(){
$("#a").hover(function(){$(this).addClass("red");},
function(){ $(this).removeClass("red");
});
})
最終效果是當(dāng)鼠標(biāo)移到id為a的層上時(shí)圖層增加一個(gè)red樣式,離開層時(shí)移出red樣式
toggle(Function, Function) 當(dāng)匹配元素第一次被點(diǎn)擊時(shí)觸發(fā)第一個(gè)函數(shù),當(dāng)?shù)诙伪稽c(diǎn)擊時(shí)觸發(fā)第二個(gè)函數(shù)
樣式:<style>.red{color:#FF0000}</style>
Html代碼: <div id="a">sdf</div>
jQuery代碼及效果
$(function(){
$("#a"). toggle (function(){$(this).addClass("red");},
function(){ $(this).removeClass("red");
});
})
最終效果是當(dāng)鼠標(biāo)點(diǎn)擊id為a的層上時(shí)圖層增加一個(gè)red樣式,離開層時(shí)移出red樣式
bind(type, fn) 用戶將一個(gè)事件和觸發(fā)事件的方式綁定到匹配對象上。
trigger(type) 用戶觸發(fā)type形式的事件。$("p").trigger("click")
還有:unbind() unbind(type) unbind(type, fn)
Dynamic event(Function) 綁定和取消綁定提供函數(shù)的簡捷方式
例:
$("#a").bind("click",function() {
$(this).addClass("red");
})
也可以這樣寫:
$("#a").click(function() {
$(this).addClass("red");
});
最終效果是當(dāng)鼠標(biāo)點(diǎn)擊id為a的層上時(shí)圖層增加一個(gè)red樣式,
jQuery提供的函數(shù)
用于browers事件
error(fn) load(fn) unload(fn) resize(fn) scroll(fn)
用于form事件
change(fn) select(fn) submit(fn)
用于keyboard事件
keydown(fn) keypress(fn) keyup(fn)
用于mouse事件
click(fn) dblclick(fn) mousedown(fn) mousemove(fn)
mouseout(fn) mouseover(fn) mouseup(fn)
用于UI事件
blur(fn) focus(fn)
以上事件的擴(kuò)展再擴(kuò)展為5類
舉例,click(fn) 擴(kuò)展 click() unclick() oneclick(fn) unclick(fn)
click(fn):增加一個(gè)點(diǎn)擊時(shí)觸發(fā)某函數(shù)的事件
click():可以在其他事件中執(zhí)行匹配對象的click事件。
unclick ():不執(zhí)行匹配對象的click事件。
oneclick(fn):只增加可以執(zhí)行一次的click事件。
unclick (fn):增加一個(gè)點(diǎn)擊時(shí)不觸發(fā)某函數(shù)的事件。
上面列舉的用于browers、form、keyboard、mouse、UI的事件都可以按以上方法擴(kuò)展。
posted @
2010-09-02 14:15 David1228 閱讀(265) |
評論 (0) |
編輯 收藏
四:JavaScript處理
$.browser() 判斷瀏覽器類型,返回boolen值
$(function(){
if($.browser.msie) {
alert("這是一個(gè)IE瀏覽器");}
else if($.browser.opera) {
alert("這是一個(gè)opera瀏覽器");}
})
當(dāng)頁面載入式判斷瀏覽器類型,可判斷的類型有msie、mozilla、opera、safari
$.each(obj, fn) obj為對象或數(shù)組,fn為在obj上依次執(zhí)行的函數(shù),注意區(qū)分$().each()
$.each( [0,1,2], function(i){ alert( "Item #" + i + ": " + this ); });
分別將0,1,2為參數(shù),傳入到function(i)中
$.each({ name: "John", lang: "JS" }, function(i){ alert( "Name: " + i + ", Value: " + this );
{ name: "John", lang: "JS" }為一個(gè)hash對象,依次將hash中每組對象傳入到函數(shù)中
$.extend(obj, prop) 用第二個(gè)對象擴(kuò)展第一個(gè)對象
var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
$.extend(settings, options);
執(zhí)行后settings對象為{ validate: true, limit: 5, name: "bar" }
可以用下面函數(shù)來測試
$(function(){
var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
$.extend(settings, options);
$.each(settings, function(i){ alert( i + "=" + this ); });
})
$.grep(array,fn) 通過函數(shù)fn來過濾array,將array中的元素依次傳給fn,fn必須返回一個(gè)boolen,如fn返回true,將被過濾
$(function(){
var arr= $.grep( [0,1,2,3,4], function(i){ return i > 2; });
$.each(arr, function(i){ alert(i); });
})
我們可以看待執(zhí)行$.grep后數(shù)組[0,1,2,3,4]變成[0,1]
$.merge(first, second) 兩個(gè)參數(shù)都是數(shù)組,排出第二個(gè)數(shù)組中與第一個(gè)相同的,再將兩個(gè)數(shù)組合并
$(function(){
var arr = $.merge( [0,1,2], [2,3,4] )
$.each(arr, function(i){ alert(i); });
})
可以看出arr的結(jié)果為[0,1,2,3,4]
$.trim(str) 移出字符串兩端的空格
$.trim(" hello, how are you? ")的結(jié)果是"hello, how are you?"
posted @
2010-09-02 14:14 David1228 閱讀(225) |
評論 (0) |
編輯 收藏
五:動(dòng)態(tài)效果
在將這部分之前我們先看個(gè)例子,相信做網(wǎng)頁的朋友都遇到n級菜單的情景,但點(diǎn)擊某菜單按鈕時(shí),如果它的子菜單是顯示的,則隱藏子菜單,如果子菜單隱藏,則顯示出來,傳統(tǒng)的javascript做法是先用getElementById取出子菜單所在容器的id,在判斷該容器的style.display是否等于none,如果等于則設(shè)為block,如果不等于這設(shè)為none,如果在將效果設(shè)置復(fù)雜一點(diǎn),當(dāng)點(diǎn)擊按鈕時(shí),不是忽然隱藏和顯示子菜單,而是高度平滑的轉(zhuǎn)變,這時(shí)就要通過setTimeout來設(shè)置子菜單的height了,再復(fù)雜一點(diǎn)透明度也平滑的消失和顯現(xiàn),這時(shí)顯現(xiàn)下來需要編寫很多代碼,如果js基礎(chǔ)不好的朋友可能只能從別人寫好的代碼拿過來修改了!jQuery實(shí)現(xiàn)上面效果只需要1句話就行,$("#a").toggle("slow"), ,學(xué)完jQuery后還需要抄襲修改別人的代碼嗎?下面我們逐個(gè)介紹jQuery用于效果處理的方法。
hide() 隱藏匹配對象
<p id="a">Hello Again</p><a href="#" onClick=’ ("#a").hide()’>jQuery</a>
當(dāng)點(diǎn)擊連接時(shí),id為a的對象的display變?yōu)?/span>none。
show()顯示匹配對象
hide(speed) 以一定的速度隱藏匹配對象,其大?。ㄩL寬)和透明度都逐漸變化到0,speed有3級("slow", "normal", "fast"),也可以是自定義的速度。
show(speed) 以一定的速度顯示匹配對象,其大?。ㄩL寬)和透明度都由0逐漸變化到正常
hide(speed, callback) show(speed, callback)當(dāng)顯示和隱藏變化結(jié)束后執(zhí)行函數(shù)callback
toggle() toggle(speed) 如果當(dāng)前匹配對象隱藏,則顯示他們,如果當(dāng)前是顯示的,就隱藏,toggle(speed),其大?。ㄩL寬)和透明度都隨之逐漸變化。
<img src="1.jpg" style="width:150px"/>
<a href="#" onClick='$("img").toggle("slow")'>jQuery</a>
fadeIn(speeds) fadeOut(speeds) 根據(jù)速度調(diào)整透明度來顯示或隱藏匹配對象,注意有別于hide(speed)和show(speed),fadeIn和fadeOut都只調(diào)整透明度,不調(diào)整大小
<img src="1.jpg" style="display:none"/><a href="#" onClick='$("img ").fadeIn("slow")'> jQuery </a>
點(diǎn)擊連接后可以看到圖片逐漸顯示。
fadeIn(speed, callback) fadeOut(speed, callback) callback為函數(shù),先通過調(diào)整透明度來顯示或隱藏匹配對象,當(dāng)調(diào)整結(jié)束后執(zhí)行callback函數(shù)
<img src="1.jpg"/>
<a href="#" onClick='$("img ").fadeIn("slow",function(){ alert("Animation Done."); })'> jQuery </a>
點(diǎn)擊連接后可以看到圖片逐漸顯示,顯示完全后彈出對話框
fadeTo(speed, opacity, callback) 將匹配對象以speed速度調(diào)整倒透明度opacity,然后執(zhí)行函數(shù)callback。Opacity為最終顯示的透明度(0-1).
<img src="1.jpg"/><br>
<a href="#" onClick='$("img ").fadeTo("slow",0.55,function(){ alert("Animation Done."); })'> jQuery </a>
大家可以看一下自己看看效果,如果不用jQuery,編寫原始javascript腳本可能很多代碼!
slideDown(speeds) 將匹配對象的高度由0以指定速率平滑的變化到正常!
<img src="1.jpg" style="display:none"/>
<a href="#" onClick='$("img ").slideDown("slow")'>jQuery</a>
slideDown(speeds,callback) 將匹配對象的高度由0變化到正常!變化結(jié)束后執(zhí)行函數(shù)callback
slideUp("slow") slideUp(speed, callback)匹配對象的高度由正常變化到0
slideToggle("slow")如果匹配對象的高度正常則逐漸變化到0,若為0,則逐漸變化到正常
posted @
2010-09-02 14:14 David1228 閱讀(348) |
評論 (0) |
編輯 收藏
摘要: 二:DOM操作
屬性
我們以<img id="a" scr="5.jpg"/>為例,在原始的javascript里面可以用var o=document.getElementById('a')取的id為a的節(jié)點(diǎn)對象,在用o.src來取得或修改該節(jié)點(diǎn)的scr屬性,在jQuery里$("#a")將得到j(luò)Query對象[ <img id="a" scr="5.jpg"/> ],...
閱讀全文
posted @
2010-09-02 14:13 David1228 閱讀(445) |
評論 (0) |
編輯 收藏
三:CSS操作
傳統(tǒng)javascript對css的操作相當(dāng)繁瑣,比如<div id="a" style="background:blue">css</div>取它的background語法是 document.getElementById("a").style.background,而jQuery對css更方便的操作,$("#a").background(),$("#a").background(“red”)
$("#a")得到jQuery對象[ <div id="a" … /div> ]
$("#a").background()將取出該對象的background樣式。
$("#a").background(“red”)將該對象的background樣式設(shè)為redjQuery提供了以下方法,來操作css
background () background (val) color() color(val) css(name) css(prop)
css(key, value) float() float(val) height() height(val) width() width(val)
left() left(val) overflow() overflow(val) position() position(val) top() top(val)
這里需要講解一下css(name) css(prop) css(key, value),其他的看名字都知道什么作用了!
<div id="a" style="background:blue; color:red">css</div><P id="b">test</P>
css(name) 獲取樣式名為name的樣式
$("#a").css("color") 將得到樣式中color值red,("#a").css("background ")將得到blue
css(prop) prop是一個(gè)hash對象,用于設(shè)置大量的css樣式
$("#b").css({ color: "red", background: "blue" });
最終效果是<p id="b" style="background:blue; color:red">test</p>,{ color: "red", background: "blue" },hash對象,color為key,"red"為value,
css(key, value) 用于設(shè)置一個(gè)單獨(dú)得css樣式
$("#b").css("color","red");最終效果是<p id="b" style="color:red">test</p>
posted @
2010-09-02 14:13 David1228 閱讀(204) |
評論 (0) |
編輯 收藏
一:核心部分
$( function(){
$(document.body).background("black");
})
運(yùn)行:當(dāng)文檔載入時(shí)背景變成黑色,相當(dāng)于onLoad。
$(obj)
說明:復(fù)制一個(gè)jQuery對象,
參數(shù):obj (jQuery): 要復(fù)制的jQuery對象
例子:
未執(zhí)行jQuery前:
<p>one</p>
<div>
<p>two</p>
</div>
<p>three</p>
<a href="#" id="test" onClick="jq()">jQuery</a>
jQuery代碼及功能:
function jq(){
var f = $("div");
alert($(f).find("p").html())
}
運(yùn)行:當(dāng)點(diǎn)擊id為test的元素時(shí),彈出對話框文字為two,即div標(biāo)簽下p元素的內(nèi)容。
each(fn)
說明:將函數(shù)作用于所有匹配的對象上
參數(shù):fn (Function): 需要執(zhí)行的函數(shù)
例子:
未執(zhí)行jQuery前:
<img src="1.jpg"/>
<img src="1.jpg"/>
<a href="#" id="test" onClick="jq()">jQuery</a>
jQuery代碼及功能:
function jq(){
$("img").each(function(){
this.src = "2.jpg"; });
}
運(yùn)行:當(dāng)點(diǎn)擊id為test的元素時(shí),img標(biāo)簽的src都變成了2.jpg。
eq(pos)
說明:減少匹配對象到一個(gè)單獨(dú)得dom元素
參數(shù):pos (Number): 期望限制的索引,從0 開始
例子:
未執(zhí)行jQuery前:
<p>This is just a test.</p>
<p>So is this</p>
<a href="#" id="test" onClick="jq()">jQuery</a>
jQuery代碼及功能:
function jq(){
alert($("p").eq(1).html())
}
運(yùn)行:當(dāng)點(diǎn)擊id為test的元素時(shí),alert對話框顯示:So is this,即第二個(gè)<p>標(biāo)簽的內(nèi)容
get() get(num)
說明:獲取匹配元素,get(num)返回匹配元素中的某一個(gè)元素
參數(shù):get (Number): 期望限制的索引,從0 開始
例子:
未執(zhí)行jQuery前:
<p>This is just a test.</p>
<p>So is this</p>
<a href="#" id="test" onClick="jq()">jQuery</a>
jQuery代碼及功能:
function jq(){
alert($("p").get(1).innerHTML);
}
運(yùn)行:當(dāng)點(diǎn)擊id為test的元素時(shí),alert對話框顯示:So is this,即第二個(gè)<p>標(biāo)簽的內(nèi)容
注意get和eq的區(qū)別,eq返回的是jQuery對象,get返回的是所匹配的dom對象,所有取$("p").eq(1)對象的內(nèi)容用jQuery方法html(),而取$("p").get(1)的內(nèi)容用innerHTML
index(obj)
說明:返回對象索引
參數(shù):obj (Object): 要查找的對象
例子:
未執(zhí)行jQuery前:
<div id="test1"></div>
<div id="test2"></div>
<a href="#" id="test" onClick="jq()">jQuery</a>
jQuery代碼及功能:
function jq(){
alert($("div").index(document.getElementById('test1')));
alert($("div").index(document.getElementById('test2')));
}
運(yùn)行:當(dāng)點(diǎn)擊id為test的元素時(shí),兩次彈出alert對話框分別顯示0,1
size() Length
說明:當(dāng)前匹配對象的數(shù)量,兩者等價(jià)
例子:
未執(zhí)行jQuery前:
<img src="test1.jpg"/>
<img src="test2.jpg"/>
<a href="#" id="test" onClick="jq()">jQuery</a>
jQuery代碼及功能:
function jq(){
alert($("img").length);
}
運(yùn)行:當(dāng)點(diǎn)擊id為test的元素時(shí),彈出alert對話框顯示2,表示找到兩個(gè)匹配對象
posted @
2010-09-02 14:11 David1228 閱讀(211) |
評論 (0) |
編輯 收藏
翻譯整理:Young.J
官方網(wǎng)站:http://jquery.com
jQuery是一款同prototype一樣優(yōu)秀js開發(fā)庫類,特別是對css和XPath的支持,使我們寫js變得更加方便!如果你不是個(gè)js高手又想寫出優(yōu)秀的js效果,jQuery可以幫你達(dá)到目的!
下載地址:Starterkit (http://jquery.bassistance.de/jquery-starterkit.zip)
jQuery Downloads (http://jquery.com/src/)
下載完成后先加載到文檔中,然后我們來看個(gè)簡單的例子!
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$("a").click(function() {
alert("Hello world!");
});
});
<script>
上邊的效果是點(diǎn)擊文檔中所有a標(biāo)簽時(shí)將彈出對話框,$("a") 是一個(gè)jQuery選擇器,$本身表示一個(gè)jQuery類,所有$()是構(gòu)造一個(gè)jQuery對象,click()是這個(gè)對象的方法,同理$(document)也是一個(gè)jQuery對象,ready(fn)是$(document)的方法,表示當(dāng)document全部下載完畢時(shí)執(zhí)行函數(shù)。
在進(jìn)行下面內(nèi)容之前我還要說明一點(diǎn)$("p")和$("#p")的區(qū)別,$("p")表示取所有p標(biāo)簽(<p></p>)的元素,$("#p")表示取id為"p"(<span id="p"></span>)的元素.
我將從以下幾個(gè)內(nèi)容來講解jQuery的使用:
1:核心部分
2:DOM操作
3:css操作
4:javascript處理
5:動(dòng)態(tài)效果
6:event事件
7:ajax支持
8:插件程序
posted @
2010-09-02 14:09 David1228 閱讀(235) |
評論 (0) |
編輯 收藏
posted @
2010-09-02 13:56 David1228 閱讀(2337) |
評論 (1) |
編輯 收藏
轉(zhuǎn)載http://queue19.javaeye.com/blog/409580
造成ORA-12560: TNS: 協(xié)議適配器錯(cuò)誤的問題的原因有三個(gè):
◆1.監(jiān)聽服務(wù)沒有起起來。windows平臺個(gè)一如下操作:開始---程序---管理工具---服務(wù),打開服務(wù)面板,
啟動(dòng)oraclehome92TNSlistener服務(wù)。
◆2.database instance沒有起起來。windows平臺如下操作:開始---程序---管理工具---服務(wù),打開服務(wù)
面板,啟動(dòng)oracleserviceXXXX,XXXX就是你的database SID.
◆3.注冊表問題。regedit,然后進(jìn)入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0將該環(huán)境變量ORACLE_SID設(shè)置為XXXX,XXXX就是你的database SID.或者右?guī)孜业碾娔X,屬性--高級--環(huán)境變量---系統(tǒng)變量--新建,變量名=oracle_sid,變量值=XXXX,XXXX就是你的database SID.或者進(jìn)入sqlplus前,在command line下
輸set oracle_sid=XXXX,XXXX就是你的database SID.經(jīng)過以上步驟,就可以解決問題了。
posted @
2010-09-01 09:32 David1228 閱讀(390) |
評論 (0) |
編輯 收藏