本文實例講述了jQuery實現可兼容IE6的淡入淡出效果告警提示功能。分享給大家供大家參考,具體如下:
其實我覺得告警提示的話,直接用一個Alert就最好的。開門見山,直接讓用戶明白你當前系統的意思,關鍵是Alert這東西就是再破的瀏覽器都必須兼容,不然你它丫的做毛瀏覽器啊?但是,在現在越來越覺得Alert不美觀,而且開始有“彈窗挺嚇人”的思潮,因此,告警提示你必須做得好看一點。在Javascript的透明度的操控比較艱難的前提下,jQuery的簡單淡入淡出效果是你的選擇。之所以選擇jQuery,是因為這東西能夠很好地兼容IE6。
一、基本目標
當輸入框的輸入內容的字符數無論中文與英文大于10的情況下。就彈出告警,具體效果如下,在IETest的IE6環境中測試通過。

二、HTML布局
這里使用了div布局,沒有使用表格布局。具體的float布置,可以參考《DIV+CSS網頁制作布局技巧學習》,這里就不多說了,很簡單的:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script type="text/javascript" src="js/jquery-1.11.1.js"></script><title>告警提示</title></head><body><div style="float:left;">內容:</div><div id="errMsg" style="color:#ff0000;display:none;float:left;">錯誤!</div><div style="clear:both;"></div><p><textarea onchange="errTipsAlert(this)"></textarea><br /></p></body></html>
這是,希望大家注意到,這個告警函數是通過多行文本框的onchange觸發的,觸發的時候把自己傳遞給那個函數。同時告警文本已經設置好,只是一開始處于隱藏狀態。
同時注意打頭引入jquery。
三、jquery腳本
這里之所以用到FadeTo0的方式去淡出,而不像《使用JQ來編寫最基本的淡入淡出效果》用show()與hide()顯示,是因為show()與hide()沒有淡入淡出的效果。而FadeIn與FadeOut會發生文字的移位的,不好看。
<script>function errTipsAlert(obj){ //obj把自己傳遞過來了,如果多行文本框里面的內容多于10個字 if(obj.value.length>10){ //那么錯誤提示文本errMsg就一開始在1秒之內透明度從0變成1,之后又在1秒之內透明度從1變成0,再同理變回來,從而實現淡入淡出的閃爍提示。 $("#errMsg").fadeTo(1000,1).fadeTo(1000,0).fadeTo(1000,1); //然后多行文本框的邊框加粗,變紅 $(obj).css("border","2px solid #ff0000"); } else{ //否則錯誤提示文本errMsg就在1毫秒內透明變變成0,相當于hide()方法,但是hide()在某些情況下會發生移位。 $("#errMsg").fadeTo(1,0); //恢復多行文本框的邊框 $(obj).css("border","1px solid #cccccc"); }}</script>多行文本框就不要設置動畫了。雖然你可以像《jQuery循環動畫與獲取組件尺寸的方法》那樣對borderwidth屬性設置動畫,但是這個動畫非常卡的。因此最好還是不要這樣做。
更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jQuery常用插件及用法總結》、《jquery中Ajax用法總結》、《jQuery表格(table)操作技巧匯總》、《jQuery拖拽特效與技巧總結》、《jQuery擴展技巧總結》、《jQuery常見經典特效匯總》、《jQuery動畫與特效用法總結》及《jquery選擇器用法總結》
希望本文所述對大家jQuery程序設計有所幫助。
新聞熱點
疑難解答