iscroll实现下拉和上拉刷新的实例教程
在原生APP的开发中,有一个常见的功能,就是下拉刷新的功能,这个想必大家都是知道的,但是原生APP的开发,有一个很大的问题就是,你每次更新一些功能,就要用户重新下载一次版本,尤其是在iOS系统中,新版本还需要经过审核才能通过,这就使得版本的更新受到很大的限制,而如果我们改用网页来展示,那么只要改变服务器中网页的内容,那么就等于修改了APP的内容展示,有更灵活的满足更新版本。
概述
但是有一点就是,如何让web实现的页面,看起来更像是原生的APP呢,首先要想办法解决的就是下拉刷新的功能,对于这个功能,我并没有在网络上找到很好的解决方法,并且,我个人对手机端的开发,经验还是有些欠缺,这里就不罗列使用js实现web页下拉刷新的功能了。
这里,我基于iscroll5的基础上,进行了少量的改动源代码,进而实现了下拉属性的功能,所以分享在这里,仅供参考。
关于iscroll插件
iscroll插件(官网地址)当前最新的版本是version 5版本,相对于版本4,我个人觉得,版本5变得更具有灵活性,虽然移除了一些特定的事件,特定的对外接口,但是对于使用该插件的程序员们,这个插件变得更具有操控性,这是我比较喜欢的一种插件类型,但同时,也发现了一些问题,事件中的touchend事件,不存在了(确切的说,不能说是不存在),只是被拦截了,所以一些基本的事件,都被进行了拦截,而导致无法监听到touchend事件,只能检测到scrollEnd事件,scrollEnd事件,是在页面滚动停止时,才会被触发的,所以~~
所以,根据版本5,无法检测到,是不是下拉了一段距离之后,松开时的动作了,对此,我也检查了源代码,也没有发现这个功能的实现方法,不得已,只能对源代码进行了少量的修改,所以就有了本篇文章。
修改后插件的使用
基本上,该方法并没有进行多少的修改,只是添加了两个事件的监听类型,一个叫做“slideDown”,表示下拉被触发,另一个叫做“slideUp”,表示上拉被触发。
其他,实例化中,各属性都没有进行更改,所以,关于iscroll的使用,直接参考官网的说明:iscroll官网。
这里,我只对新添加的事件,添加一个demo测试,这个demo是一个很简单的demo,也只是用来说明新添加事件的用法的,如果需要用到下拉刷新或者上拉刷新的朋友,可以根据本demo自行修改。
下拉刷新
- Pretty row 1
- Pretty row 2
- Pretty row 3
- Pretty row 4
- Pretty row 5
- Pretty row 46
- Pretty row 47
- Pretty row 48
- Pretty row 49
- Pretty row 50
...
上拉刷新
CSS部分这里就不多说了,有兴趣的可以直接保存该网页,然后把相关代码分离即可,对应的JS和CSS代码,分别为iscroll.js和iscroll.css文件,其他的bootstrap和jQuery都是我懒的原因,加入的框架。
对上述的结构进行实例化:
var myScroll,
upIcon = $("#up-icon"),
downIcon = $("#down-icon");
myScroll = new IScroll('#wrapper', { probeType: 3, mouseWheel: true });//probeType属性,表明此插件,可以监听scroll事件myScroll.on("scroll",function(){ //scroll事件,可以用来控制上拉和下拉之后显示的模块中,
//样式和内容展示的部分的改变。
var y = this.y,
maxY = this.maxScrollY - y,
downHasClass = downIcon.hasClass("reverse_icon"),
upHasClass = upIcon.hasClass("reverse_icon");
if(y >= 40){
!downHasClass && downIcon.addClass("reverse_icon"); return "";
}else if(y < 40 && y > 0){
downHasClass && downIcon.removeClass("reverse_icon"); return "";
}
if(maxY >= 40){
!upHasClass && upIcon.addClass("reverse_icon"); return "";
}else if(maxY < 40 && maxY >=0){
upHasClass && upIcon.removeClass("reverse_icon"); return "";
}
});
myScroll.on("slideDown",function(){ //当下拉,使得边界超出时,如果手指从屏幕移开,则会触发该事件
if(this.y > 40){ //获取内容于屏幕拉开的距离
//可以在该部分中,修改样式,并且仅限ajax或者其他的一些操作
//此时只是为了能演示该功能,只添加了一个alert功能。
//并且,由于alert会阻塞后续的动画效果,所以,
//添加了后面的一行代码,移除之前添加上的一个样式
alert("slideDown");
upIcon.removeClass("reverse_icon");
}
});
myScroll.on("slideUp",function(){ if(this.maxScrollY - this.y > 40){ //与slideDown相同的,maxScrollY表示文档区域的最大高度
alert("slideUp");
upIcon.removeClass("reverse_icon")
}
});
同时,注意一点,当你使用ajax添加或者删除一些新的元素时,要重新myScroll.refresh()一下,会重新计算maxScrollY区域的,以保证区域覆盖的正确性,这些东西,如果你真的使用到,那么肯定可以碰到这些问题的,所以,这里是我话多了~~~
OK,代码就是这样了,在写这个文章的时候,旁边没有Android的设备,所以,没有进行测试,只测试了IOS8的设备,所以,如果有问题,请指出,谢谢~~
Atas ialah kandungan terperinci iscroll实现下拉和上拉刷新的实例教程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Apabila anda menyemak imbas web pada iPhone anda, kandungan yang dimuatkan disimpan buat sementara waktu selagi apl penyemak imbas kekal terbuka. Walau bagaimanapun, tapak web mengemas kini kandungan dengan kerap, jadi menyegarkan halaman adalah cara yang berkesan untuk mengosongkan data lama dan melihat kandungan yang diterbitkan terkini. Dengan cara ini, anda sentiasa mendapat maklumat dan pengalaman terkini. Jika anda ingin memuat semula halaman pada iPhone, siaran berikut akan menerangkan kepada anda semua kaedah. Cara Muat Semula Halaman Web pada Safari [4 Kaedah] Terdapat beberapa kaedah untuk memuat semula halaman yang anda lihat pada Apl Safari pada iPhone. Kaedah 1: Gunakan Butang Muat Semula Cara paling mudah untuk memuat semula halaman yang telah anda buka di Safari ialah menggunakan pilihan Muat Semula pada bar tab penyemak imbas anda. Jika Safa

Adakah kunci F5 tidak berfungsi dengan betul pada PC Windows 11/10 anda? Kekunci F5 biasanya digunakan untuk menyegarkan desktop atau penjelajah atau memuat semula halaman web. Walau bagaimanapun, sesetengah pembaca kami telah melaporkan bahawa kekunci F5 sedang menyegarkan komputer mereka dan tidak berfungsi dengan betul. Bagaimana untuk mendayakan penyegaran F5 dalam Windows 11? Untuk menyegarkan semula PC Windows anda, hanya tekan kekunci F5. Pada sesetengah komputer riba atau desktop, anda mungkin perlu menekan kombinasi kekunci Fn+F5 untuk menyelesaikan operasi muat semula. Mengapa penyegaran F5 tidak berfungsi? Jika menekan kekunci F5 gagal menyegarkan semula komputer anda atau anda mengalami masalah pada Windows 11/10, ia mungkin disebabkan oleh kekunci fungsi yang dikunci. Punca lain yang berpotensi termasuk papan kekunci atau kekunci F5

Penyegaran halaman adalah perkara biasa dalam penggunaan rangkaian harian kami Apabila kami melawat halaman web, kadangkala kami menghadapi beberapa masalah, seperti halaman web tidak dimuatkan atau dipaparkan secara tidak normal, dsb. Pada masa ini, kami biasanya memilih untuk memuat semula halaman untuk menyelesaikan masalah, jadi bagaimana untuk memuat semula halaman dengan cepat? Mari kita bincangkan kekunci pintasan untuk muat semula halaman. Kekunci pintasan muat semula halaman ialah kaedah untuk memuat semula halaman web semasa dengan pantas melalui operasi papan kekunci. Dalam sistem pengendalian dan penyemak imbas yang berbeza, kekunci pintasan untuk muat semula halaman mungkin berbeza. Di bawah ini kami menggunakan W biasa

Penyelesaian kepada nilai yang hilang selepas halaman tindak balas dimuat semula: 1. Muat semula halaman dan semak sama ada data dalam keadaan akan dikosongkan; 2. Gunakan "const name = location.query.name; const id = location.query kaedah .id;" Dengan menambahkan parameter pada pautan lompat, anda boleh melepasi parameter dan memuat semula halaman tanpa kehilangan data.

Apakah kekunci pintasan segar semula papan kekunci Dengan perkembangan teknologi komputer, papan kekunci telah menjadi peranti yang sangat diperlukan dalam kerja dan kehidupan harian kita. Fungsi papan kekunci melampaui memasukkan teks Ia juga sering digunakan untuk mengendalikan pelbagai fungsi komputer dan meningkatkan kecekapan kerja kita. Pintasan papan kekunci membolehkan kami menyelesaikan pelbagai operasi dengan lebih cepat dan mudah. Dalam penggunaan komputer harian, kita sering menghadapi situasi di mana kita perlu memuat semula halaman. Apabila kami membuka halaman web atau menjalankan perisian, kadangkala halaman akan membeku atau gagal dimuatkan Pada masa ini, muat semula halaman.

Bagaimana untuk menggunakan penghalaan untuk melaksanakan penyegaran halaman dan kawalan cache dalam projek Vue? Dalam pembangunan projek Vue, adalah keperluan yang sangat biasa untuk menggunakan penghalaan untuk melaksanakan penyegaran halaman dan kawalan cache. Artikel ini akan memperkenalkan cara menggunakan penghalaan dalam projek Vue untuk melaksanakan penyegaran halaman dan kawalan cache serta memberikan contoh kod yang sepadan. Konfigurasi penghalaan Pertama, anda perlu menggunakan vue-router untuk konfigurasi penghalaan dalam projek Vue. vue-router boleh dipasang melalui npm dan diperkenalkan serta dikonfigurasikan dalam main.js. impor

Penyegaran adalah operasi yang sering kami lakukan apabila menggunakan komputer Penyegaran boleh memaparkan tetapan kami dengan cepat untuk antara muka, paparan, ikon dan sifat-sifat lain, bagaimanapun, ramai rakan mendapati tiada penyegaran dalam menu klik kanan apabila menggunakan win11. ini kerana menu win11 A telah ditambah, yang perlu dimasukkan sebelum boleh dimuat semula. Cara klik kanan muat semula dalam win11 1. Dalam sistem win11, menu klik kanan telah diubah, dan kami tidak akan dapat mencari muat semula apabila kami klik kanan pada ruang kosong. 2. Sebaliknya, kita perlu mencari "showmoreoptions" di bahagian bawah menu klik kanan 3. Selepas memasukkan "showmoreoptions", anda boleh mencari muat semula. 4. Selain itu, kita sebenarnya tidak perlu menggunakan klik kanan untuk menyegarkan semula

Baru-baru ini, apabila sesetengah pengguna menggunakan sistem Win10, mereka mendapati bahawa kadangkala desktop akan dimuat semula secara automatik tanpa berhenti, dan ia juga akan dimuat semula semasa kami menonton video dan mendengar muzik, yang sangat mempengaruhi pengalaman pengguna apabila komputer dihidupkan dan rangkaian wayarles disegarkan semula? Apakah yang perlu saya lakukan jika komputer dihidupkan dan rangkaian wayarles dimuat semula? 1. Selepas kita memasuki desktop, klik ikon bar menu dengan tetikus. 2. Pilih [Pengurus Sumber] dalam antara muka yang dibuka. 3. Selepas memasuki halaman, klik [Windows Task Manager] dan pilih [End Task]. 4. Selepas meneruskan, kembali ke desktop dan klik kanan tetikus untuk memilih bar menu. 5. Pada masa ini, semua orang mengklik [nasib]
