Rumah  >  Artikel  >  hujung hadapan web  >  Pelaksanaan perubahan orientasi skrin dan menatal dalam halaman mudah alih JQuery development_jquery

Pelaksanaan perubahan orientasi skrin dan menatal dalam halaman mudah alih JQuery development_jquery

WBOY
WBOYasal
2016-05-16 15:27:451079semak imbas

Acara perubahan orientasi (perubahan orientasi)
Acara ini dicetuskan apabila orientasi peranti berubah (peranti dipegang secara mendatar atau menegak). Apabila mengikat acara ini, fungsi panggil balik anda boleh menambah parameter kedua, yang digunakan untuk menerangkan atribut mendatar atau menegak peranti, "potret" atau landskap ini juga akan ditambahkan pada elemen html sebagai kelas nilai, supaya Anda boleh menukar gaya mereka melalui pemilih dalam css Ambil perhatian bahawa kami kini mengikat acara ubah saiz apabila penyemak imbas tidak menyokong acara orientationChange.

Dilaksanakan apabila orientasi peranti pegang tangan berubah

 $(window).bind( 'orientationchange', function(e){
 var height=document.body.clientHeight - 195;
 $("#content").css("min-height",height);
 $("#thumb").css("margin",height/4.2 + "px auto");
 });
Contoh di atas digunakan oleh saya untuk mengisi keseluruhan halaman apabila peranti pegang tangan menukar orientasi untuk mengelakkan ruang kosong, dan boleh dikembangkan mengikut keperluan anda sendiri.

$(function(){
 $('a').click(function(){
 $(window).trigger('orientationchange' );
 });
});
Pada telefon pintar dan peranti tablet, terdapat hanya satu acara orientasi bernama orientationchange. Peristiwa ini dicetuskan apabila peranti diputar secara menegak atau mendatar. Untuk menentukan arah mana peranti diputar, anda boleh mengakses sifat orientasi, yang menyediakan potret atau landskap nilai baca sahaja.

Mengikat pada acara orientationchange memerlukan anda meletakkan elemen badan dan kemudian menggunakan kaedah bind untuk mengikat acara. Ia juga penting untuk mengikat acara orientationchange ke badan, tetapi tunggu sehingga elemen sedia dalam dokumen sebelum mengikat acara. Jika tidak, anda akan mendapat hasil yang tidak konsisten kerana elemen badan mungkin tidak tersedia pada masa mengikat. Anda juga boleh mempertingkatkan kod ini lagi untuk melancarkan acara orientationchange apabila dokumen sudah sedia.

Acara perubahan orientasi dicetuskan apabila dokumen sudah sedia

<!DOCTYPE HTML>
<html>
<head>
<title>Understanding the jQuery Mobile API</title>
<link rel="stylesheet" href="jquery.mobile.css" />
<script src="jquery.js"></script>
<script type="text/java script">
$(document).ready(function(){
 $(".tap-hold-test").bind("taphold", function(event) {
 $(this).html("Tapped and held");
 });
});
</script>
<script src="jquery.mobile.js"></script>
</head>
<body>
<div data-role="page" id="my-page">
<div data-role="header">
<h1>Header</h1>
</div>
<div data-role="content">
<ul data-role="listview" id="my-list">
<li class="tap-hold-test">Tap and hold test</li>
</ul>
</div>
</div>
</body>
</html>

$(document).ready(function(){
 $('body').bind('orientationchange', function(event) {
 alert('orientationchange: '+ event.orientation);
 });
});

Mematikan acara apabila dokumen sedia, ini membolehkan anda menentukan orientasi halaman web apabila ia dimuatkan pada mulanya. Ini amat berguna apabila anda perlu memaparkan kandungan menggunakan orientasi semasa peranti. Anda juga boleh mengakses nilai orientasi melalui CSS kerana ia ditambahkan pada elemen HTML dalam halaman web. Ciri berkuasa ini membolehkan anda mengubah suai reka letak kandungan anda dalam orientasi peranti.

Tatal acara (mula tatal, henti tatal)
mula tatal: Dicetuskan apabila tatal skrin bermula. Peranti Apple akan membekukan operasi DOM semasa menatal, dan melaksanakan operasi DOM ini dalam baris gilir apabila penatalan tamat Kami sedang mengkaji kaedah untuk membenarkan peranti Apple melakukan operasi DOM sebelum penatalan bermula.

$(document).ready(function(){

 $('body').bind('scrollstart', function(event) {
 // Add scroll start code here
 });

});

henti tatal: dicetuskan apabila penatalan tamat.

$(document).ready(function(){

 $('body').bind('scrollstop', function(event) {
 // Add scroll stop code here
 });

});

<!DOCTYPE html>
<html>
 <head>
  <title>Ajax测试</title>
  <meta charset="gbk">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="jquery-mobile/jquery.mobile-1.2.0.min.css"/>
  <link rel="stylesheet" href="jquery-mobile/jquery.mobile.structure-1.2.0.min.css"/>
  <script src="jquery-mobile/jquery-1.8.2.min.js"></script>
  <script src="jquery-mobile/jquery.mobile-1.2.0.min.js"></script>
 </head>
 <body>
  <div data-role="page" data-theme="b">
  <div data-role="header"></div>
  <div data-role="content">
   <script>
 //scrollstart事件
 function scrollstartFunc(evt) {
  try
  {
  var target = $(evt.target);
  while (target.attr("id") == undefined) {
  target = target.parent();
  }
  //获取触点目标id属性值
  var targetId = target.attr("id");
  alert("targetId: " + targetId);
  }
  catch (e) {
  alert('myscrollfunc:' + e.message);
  }
 }
 function myinit() {
  //绑定上下滑动事件
  $("#myul").bind('scrollstart', function () { scrollstartFunc(event); });
 }
 window.onload = myinit;
 </script>
 <!-- listview测试 -->
 <ul id="myul" data-role="listview" data-inset="true">
 <li data-role="list-divider">信息列表</li>
 <li id="li1" data-role="fieldcontain">信息1</li>
 <li id="li2" data-role="fieldcontain">信息2</li>
 <li id="li3" data-role="fieldcontain">信息3</li>
 <li id="li4" data-role="fieldcontain">信息4</li>
 <li id="li5" data-role="fieldcontain">信息5</li>
 <li id="li6" data-role="fieldcontain">信息6</li>
 <li id="li7" data-role="fieldcontain">信息7</li>
 <li id="li8" data-role="fieldcontain">信息8</li>
 <li id="li9" data-role="fieldcontain">信息9</li>
 <li id="li10" data-role="fieldcontain">信息10</li>
 </ul>
  </div>
 </body>
</html>

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn