小編給大家分享一下jquery如何控制字?jǐn)?shù)多少,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)憑借專業(yè)的設(shè)計(jì)團(tuán)隊(duì)扎實(shí)的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都10余年的網(wǎng)站建設(shè)設(shè)計(jì)經(jīng)驗(yàn),為成都上千中小型企業(yè)策劃設(shè)計(jì)了網(wǎng)站。
jquery控制字?jǐn)?shù)多少的方法:1、導(dǎo)入外部js文件;2、在
標(biāo)簽中“$("#txt").keyup(function(){...}”等代碼;3、在頁面加載時運(yùn)行jQuery代碼即可。
本文操作環(huán)境:windows7系統(tǒng)、jquery1.2.6版、DELL G3電腦
jQuery計(jì)算文本框字?jǐn)?shù)及限制文本框字?jǐn)?shù)的方法
一個中文算兩個,一個符號或數(shù)字,英文,算一個。(如果是規(guī)定140個字,乘以2,那么就是280個)。需要用到Math.ceil方法,因?yàn)樽詈筮€是要除以2來還原顯示給用戶的字?jǐn)?shù);
$(function(){ var $tex = $(".tex"); var $but = $(".but"); var ie = jQuery.support.htmlSerialize; var str = 0; var abcnum = 0; var maxNum = 280; var texts= 0; var num = 0; var sets = null; $tex.val(""); //頂部的提示文字 $tex.focus(function(){ if($tex.val()==""){ $("p").html("您還可以輸入的字?jǐn)?shù)140"); } }) $tex.blur(function(){ if($tex.val() == ""){ $("p").html("請?jiān)谙旅孑斎肽奈淖郑?); } }) //文本框字?jǐn)?shù)計(jì)算和提示改變 if(ie){ $tex[0].oninput = changeNum; }else{ $tex[0].onpropertychange = changeNum; } function changeNum(){ //漢字的個數(shù) str = ($tex.val().replace(/\w/g,"")).length; //非漢字的個數(shù) abcnum = $tex.val().length-str; total = str*2+abcnum; if(str*2+abcnum"+texts+"").children().css({"color":"blue"}); }else if(str*2+abcnum>maxNum){ $but.removeClass("") $but.addClass("grey"); texts =Math.ceil(((str*2+abcnum)-maxNum)/2); $("p").html("您輸入的字?jǐn)?shù)超過了"+texts+"").children("span").css({"color":"red"}); } } //按鈕點(diǎn)擊 $but.click(function(){ if($(this).is(".grey")){ sets = setInterval(flash,100); $tex.addClass("textColor") } function flash(){ num++; if(num == 4){ clearInterval(sets); } if(num%2 == 1){ $tex.addClass("textColor") }else{ $tex.removeClass("textColor") } } }) })
一、功能:
用戶邊輸入計(jì)算同時進(jìn)行,告訴用戶還剩余多少可輸入的字?jǐn)?shù);
當(dāng)超過規(guī)定的字?jǐn)?shù)后,點(diǎn)擊確定,會讓輸入框閃動
二、功能分析
重點(diǎn)是用什么事件?
標(biāo)準(zhǔn)瀏覽器用oninput,而IE則使用onpropertychange ,這兩個事件的發(fā)生條件,是文本框的值發(fā)生改變。
字?jǐn)?shù)的計(jì)算。
一個中文算兩個,一個符號或數(shù)字,英文,算一個。(如果是規(guī)定140個字,乘以2,那么就是280個)。需要用到Math.ceil方法,因?yàn)樽詈筮€是要除以2來還原顯示給用戶的字?jǐn)?shù);
閃動背景色
這里用到了模運(yùn)算,因?yàn)槭侵貜?fù)的動作,第一次有顏色,第二次沒有顏色,這樣重復(fù)的動作,就有閃動效果.
因?yàn)槿庋垡吹竭@二次有顏色和無顏色的效果,所以需要用到延時,setTimeout和setInterval. 這里用到的是setInterval,因?yàn)橐貜?fù)動作。
下面一段代碼給大家介紹用jQuery實(shí)現(xiàn)限制輸入字?jǐn)?shù)的文本框。
1.導(dǎo)入外部.js文件:
2.在
標(biāo)簽中加入如下代碼:還可以輸入140個字
3.如果頁面加載時輸入框中有默認(rèn)文本,那么要在頁面加載時運(yùn)行如下jQuery代碼,方能正確顯示:
$("#word").text( 140 - $("#txt").val().length ) ;
以上是“jquery如何控制字?jǐn)?shù)多少”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!