您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“html5中touch事件如何實現觸屏頁面上下滑動”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“html5中touch事件如何實現觸屏頁面上下滑動”這篇文章吧。
因為給頁面添加了touch事件那么滾動條等其他頁面原有的默認屬性將別改變,上篇文章里的 demo可以一直向上滑動或向下滑動,但現實是這樣是不可取的
完整代碼:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1 user-scalable=0"/> <title>2014-5-4</title> <style> * {margin: 0; padding: 0;} #outer{ width:90%; height: 490px; background: #000; margin: auto; overflow: hidden;} #inner{width:80%; background: #e4e4e4; margin: auto; position:relative; top:0px; font-size: 1em; padding: 30px 10px; } #inner p{line-height: 30px; letter-spacing: 3px; text-indent:2em;} #spText{ height: 40px; width: 100%;border:1px solid red;} h3{ width: 100%; text-align: center; } h4{ width: 100%; padding-left:60%;} </style> <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js'></script> </head> <body> <div id="spText"></div> <div id="spText2"></div> <div id="outer"> <div id="inner"> <h3>背影</h3> <h4>—朱自清</h4> <p>我與父親不相見已二年余了,我最不能忘記的是他的背影。[1-2] 那年冬天,祖母死了,父親的差使也交卸了,正是禍不單行的日子。我從北京到徐州,打算跟著父親奔喪回家。到徐州見著父親,看見滿院狼藉的東西,又想起祖母,不禁簌簌地流下眼淚。父親說:“事已如此,不必難過,好在天無絕人之路!”[1-2] 回家變賣典質,父親還了虧空;又借錢辦了喪事。這些日子,家中光景很是慘淡,一半為了喪事,一半為了父親賦閑。喪事完畢,父親要到南京謀事,我也要回北京念書,我們便同行。[1-2] 到南京時,有朋友約去游逛,勾留了一日;第二日上午便須渡江到浦口,下午上車北去。父親因為事忙,本已說定不送我,叫旅館里一個熟識的茶房陪我同去。他再三囑咐茶房,甚是仔細。但他終于不放心,怕茶房不妥帖;頗躊躇了一會。其實我那年已二十歲,北京已來往過兩三次,是沒有什么要緊的了。他躊躇了一會,終于決定還是自己送我去。我再三回勸他不必去;他只說:“不要緊,他們去不好!”[1-2] 我們過了江,進了車站。我買票,他忙著照看行李。行李太多了,得向腳夫行些小費才可過去。他便又忙著和他們講價錢。我那時真是聰明過分,總覺他說話不大漂亮,非自己插嘴不可,但他終于講定了價錢;就送我上車。他給我揀定了靠車門的一張椅子;我將他給我做的紫毛大衣鋪好座位。他囑咐我路上小心,夜里要警醒些,不要受涼。又囑托茶房好好照應我。我心里暗笑他的迂;他們只認得錢,托他們只是白托!而且我這樣大年紀的人,難道還不能料理自己么?[1-2] 我說道:“爸爸,你走吧。”他望車外看了看,說:“我買幾個橘子去。你就在此地,不要走動。”我看那邊月臺的柵欄外有幾個賣東西的等著顧客。走到那邊月臺,須穿過鐵道,須跳下去又爬上去。父親是一個胖子,走過去自然要費事些。我本來要去的,他不肯,只好讓他去。我看見他戴著黑布小帽,穿著黑布大馬褂,深青布棉袍,蹣跚地走到鐵道邊,慢慢探身下去,尚不大難。可是他穿過鐵道,要爬上那邊月臺,就不容易了。他用兩手攀著上面,兩腳再向上縮;他肥胖的身子向左微傾,顯出努力的樣子。這時我看見他的背影,我的淚很快地流下來了。我趕緊拭干了淚。怕他看見,也怕別人看見。我再向外看時,他已抱了朱紅的橘子往回走了。過鐵道時,他先將橘子散放在地上,自己慢慢爬下,再抱起橘子走。到這邊時,我趕緊去攙他。他和我走到車上,將橘子一股腦兒放在我的皮大衣上。于是撲撲衣上的泥土,心里很輕松似的。過一會兒說:“我走了,到那邊來信!”我望著他走出去。他走了幾步,回過頭看見我,說:“進去吧,里邊沒人。”等他的背影混入來來往往的人里,再找不著了,我便進來坐下,我的眼淚又來了。[1-2] 近幾年來,父親和我都是東奔西走,家中光景是一日不如一日。他少年出外謀生,獨力支持,做了許多大事。哪知老境卻如此頹唐!他觸目傷懷,自然情不能自已。情郁于中,自然要發之于外;家庭瑣屑便往往觸他之怒。他待我漸漸不同往日。但最近兩年不見,他終于忘卻我的不好,只是惦記著我,惦記著我的兒子。[1-2] 我北來后,他寫了一信給我,信中說道:“我身體平安,惟膀子疼痛厲害,舉箸提筆,諸多不便,大約大去之期不遠矣。”我讀到此處,在晶瑩的淚光中,又看見那肥胖的、青布棉袍黑布馬褂的背影。唉!我不知何時再能與他相見! </p> </div> </div> <script> var startX,//觸摸時的坐標 startY, x, //滑動的距離 y, aboveY=0; // 設一個全局變量記錄上一次內部塊滑動的位置 var documentHeight=$("#inner").height();//內部滑動模塊的高度 var wapperHeight=$("#outer").height(); //外部框架的高度 var inner=document.getElementById("inner"); function touchStart(e){//觸摸開始 e.preventDefault(); var touch=e.touches[0]; startY = touch.pageY; //剛觸摸時的坐標 } function touchMove(e){//滑動 e.preventDefault(); var touch = e.touches[0]; y = touch.pageY - startY;//滑動的距離 inner.style.top=aboveY+y+"px"; document.getElementById("spText").innerHTML=inner.style.top; } function touchEnd(e){//手指離開屏幕 aboveY=parseInt(inner.style.top);//touch結束后記錄內部滑塊滑動的位置 在全局變量中體現 一定要用parseInt()將其轉化為整數字; if(y>0&>0){//當滑動到最頂端時候不能再網上滑動 //inner.style.top=0; $("#inner").animate({top:0},200); aboveY=0; } if(y<0&&(aboveY<(-(documentHeight-wapperHeight)))){//當滑動到最底部時候不能再網下滑動 // inner.style.top=-(documentHeight-wapperHeight)+"px"; $("#inner").animate({top:-(documentHeight-wapperHeight)},200); aboveY=-(documentHeight-wapperHeight); } }// document.getElementById("outer").addEventListener('touchstart', touchStart,false); document.getElementById("outer").addEventListener('touchmove', touchMove,false); document.getElementById("outer").addEventListener('touchend', touchEnd,false); </script> </body> </html>
上面是demo的完整代碼,這次使用的jquery,因為用到了animate 可以讓滑動到最上面和最下面有點彈性
下面是demo效果,你也可以將代碼copy用手機訪問看看,代碼比較簡陋只是實現了效果還沒有考慮到兼容性和健壯性
以上是“html5中touch事件如何實現觸屏頁面上下滑動”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。