導航:首頁 > 編程語言 > 展開js

展開js

發布時間:2025-06-30 04:22:00

js怎麼監聽移動端鍵盤展開事件

目的 : 監聽移動端鍵盤展開事件

工具 : 移動端, js

思路 : 可以通過監聽窗口大小的改變來實現,當端鍵盤展開時,窗口的大小發生改變,依據此基礎進行判斷.

js 移動端關於頁面布局,如果底部有position:fixed的盒子,又有input,當軟鍵盤彈出收起都會影響頁面布局。這時候Android可以監聽resize事件,代碼如下,而iOS沒有相關事件。

方法一實現代碼:

//獲取當前頁面高度
varwinHeight=$(window).height();
$(window).resize(function(){
varthisHeight=$(this).height();
if(winHeight-thisHeight>50){
//窗口發生改變(大),故此時鍵盤彈出
//當軟鍵盤彈出,在這裡面操作
}else{
//窗口發生改變(小),故此時鍵盤收起
//當軟鍵盤收起,在此處操作
}
});

方法二:監控鍵盤

監控的方式其實篩選下來也不過兩種:

① 時鍾setInterval不停監控

系統級別的監控,比如鍵盤出現時候通知window一個事件,但是很遺憾現在還沒有這個事件,但是這個事件等於

input類元素獲取焦點 == 彈出虛擬鍵盤

input類元素失去焦點 == 收起虛擬鍵盤

但是我們前面已經說過,上面的原則不一定可靠,所以該種方案也未必可靠了

基於系統監控這點,我們還可以監控resize事件或者scroll事件,但是經過我的測試,setInterval表現比較好.於是,我們簡單寫一段代碼,可靠是否滿足需求:

window.alert=function(msg){
$('body').append('<div>'+msg+'</div>')
};
functionfixedWatch(el){
if(document.activeElement.nodeName=='INPUT'){
el.css('position','static');
}else{
el.css('position','fixed');
}
}

setInterval(function(){
fixedWatch($('#headerviewheader'));
},500);

如上:移動端鍵盤展開事件即可被監聽.

Ⅱ 這段js文本展開收縮代碼默認是展開的,怎麼設成默認是收縮的

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
#div1 {width: 400px; background: lightblue; margin: 0 auto;}
</style>
</head>
<body>
<div id="div1"> 說真的這屆美國隊甜瓜和歐文才是真大腿,每到要分、硬仗的時候沒慫過,歐文的特點擺在這里,正是這種特點才讓他取得現在的成就,歐文在場上現在出球速度並不慢關鍵是其他人真的沒有什麼得分、串聯的能力啊,就像我在其他帖子里說的,這只球隊不缺得分手,缺少的是一名軸心,組織者,要是保羅、老詹、哈登來其一都可以讓進攻流暢起來,總之,這個鍋不應該歐文來背。
<a href="javascript:;">>>收縮</a>
</div>
</body>
<script type="text/javascript">
var oDiv=document.getElementById('div1');
var oA=oDiv.getElementsByTagName('a');
var onOff=false;
var old='';
old=oDiv.innerHTML;
oDiv.innerHTML=oDiv.innerHTML.substring(0,20)+'......<a href="javascript:;">>>展開</a>';
oA[0].onclick=function move()
{
if(onOff)
{
onOff=false;
old=oDiv.innerHTML;
oDiv.innerHTML=oDiv.innerHTML.substring(0,20)+'......<a href="javascript:;">>>展開</a>';
oA=oDiv.getElementsByTagName('a');
oA[0].onclick=move;
}
else
{
onOff=true;
oDiv.innerHTML=old;
oA=oDiv.getElementsByTagName('a');
oA[0].onclick=move;
}
}
</script>
</html>

Ⅲ js 超出100個字隱藏展開問題

用JQUERY 比較好實現 給你需要實現該效果的DIV加上 name="content" 就行 具體代碼 看附件


下載後 直接用瀏覽器打內開 裡面的100 代表容50個漢字 你換成200 就行 然後自己加個dIV 字數少點 就可以看到效果了 下班了 沒時間測 應該沒問題

Ⅳ 怎麼用js或jq點擊展開,出現隱藏的DIV,點擊收起DIV又隱藏起來.

<script src="jquery-1.8.2.js"></script>
<script>
/*展開和收起用一個div,也可以說它是個按鈕,假設它的id=d1;
假設需要顯示和隱藏的div叫d2;
下面這段代碼只是粗略的實現了你的要求,主要是給你提供個思路;
*/
$(function(){
$('#d1').click(function(){//給d1綁定一個點擊事件;

/*這個判斷的意義是,如果d2是隱藏的,那麼讓它顯示出來,並將d1的文本內容替換成收起,
如果是顯示的,那麼就隱藏它並將d1的文本內容替換為展開;*/
if($('#d2').is(':hidden'))
{
$('#d2').slideDown('slow');
$(this).text('收起');
}else{
$('#d2').slideUp('slow');
$(this).text('展開');
}

/*這是一個很簡單的事件處理,如果還需要跟上圖片的變換,就在判斷的對應位置寫入圖片或者背景變換的代碼,*/
});
});
</script>
<div id='d1'>展開</div>
<div id='d2' style=" display:none">內容</div>

閱讀全文

與展開js相關的資料

熱點內容
文件名變綠色怎麼處理 瀏覽:126
手機數據線有哪些廠家 瀏覽:933
考勤機為什麼不能從電腦導出數據 瀏覽:176
linuxsh運行java 瀏覽:410
win10找到其他電腦共享文件夾 瀏覽:984
華為榮耀5xroot教程 瀏覽:747
macmysql8配置文件 瀏覽:642
為什麼pdf文件列印出來不清楚 瀏覽:554
vs2010winform程序打包 瀏覽:916
iis上傳大文件會將文件寫入那個文件夾 瀏覽:604
文件把格式後綴隱藏 瀏覽:888
qq接收到的文件冊不掉怎麼辦 瀏覽:935
優勝編程培訓怎麼樣 瀏覽:464
蘋果zip文件怎麼解壓 瀏覽:461
怎麼知道網站合不合法 瀏覽:442
手機雙頁面app怎麼移動 瀏覽:701
電信中興b860a破解教程 瀏覽:87
js函數event 瀏覽:844
手機發圖片獲取原始文件失敗 瀏覽:538
怎麼才能在平安app買商業險 瀏覽:179

友情鏈接