Rumah >hujung hadapan web >tutorial js >Pelaksanaan perubahan orientasi skrin dan menatal dalam halaman mudah alih JQuery development_jquery
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.
$(window).bind( 'orientationchange', function(e){ var height=document.body.clientHeight - 195; $("#content").css("min-height",height); $("#thumb").css("margin",height/4.2 + "px auto"); });
$(function(){ $('a').click(function(){ $(window).trigger('orientationchange' ); }); });
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); }); });
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 }); });
$(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>