JS解決移動web開發手機輸入框彈出的問題,jsweb

來源:互聯網
上載者:User

JS解決移動web開發手機輸入框彈出的問題,jsweb

在移動web開發中和pc端不同的是,手機的輸入是軟鍵盤,這樣就會有個問題,那就是當有輸入的時候,鍵盤彈起來,整個頁面難免會發生變化

1、頁面提高背景會出現不夠用的現象,

解決方案,在body中設定背景圖,即便是頁面抬升了,背景也依舊存在,

2、底部用fix布局

 這個問題會使得頁面提升而底部的fix也跟著提升,遮蓋住相應的頁面,這個有兩種解決方案

一、是頁面頁相應的提高,頁面變化多少我們讓上面的頁面滾動多少,

$('input').bind('click',function(e){  var $this = $(this);  e.preventDefault();  setTimeout(function(){    $(window).scrollTop($this.offset().top - 10);  },200)})

$this.offset().top 是input 元素的高度,將window滾動到要輸入的input的位置

二、把fix元素隱藏掉當頁面輸入完成再展示出來

var original = document.documentElement.clientHeight;window.addEventListener("resize", function() {var resizeHeight = document.documentElement.clientHeight;if(resizeHeight != original) {$('.bottom-button').css('display', 'none');} else {$('.bottom-button').css('display', 'block');}});

利用resize屬性,當手機輸入框彈出時,頁面螢幕會變形,resize就會執行,我們先擷取原來的高度,當發生變化時我們擷取現在的頁面高度,當頁面高度不一樣的時候就隱藏元素,

以上所述是小編給大家介紹的JS解決移動web開發手機輸入框彈出的問題,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對幫客之家網站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.