1、如果是div設置了滾動條導致滑動不順暢,可以在css中加入-webkit-overflow-scrolling : touch;
創新互聯公司專業為企業提供遼源網站建設、遼源做網站、遼源網站設計、遼源網站制作等企業網站建設、網頁設計與制作、遼源企業網站模板建站服務,10多年遼源做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
2、如果是幻燈片,可以用swiper插件一類的。
3、盡量用css3開啟GPU加速(css隨便哪里加個{transform:transition3d(0,0,0);}),用transform:translate(x,y)代替mairgin或者top。
4、減少滑動過程中的運動DOM。
HTML5的性能已經是老生常談的問題了。問題的因素有多個,包括硬件、瀏覽器以及實現方式。硬件會隨著移動設備的快速更新而得到改進,甚至在硬件層面,設備有可能針對HTML5進行特殊的支持。瀏覽器的性能在不斷改進中,而應用的實現方式取決于開發者的編程模型和技能,這一部分是可以隨著工具、框架的進步和開發水平提升而改進的。
1、不自定義進度條的話就只能用默認進度條,默認的進度條是集合在video標簽中的,這個我們無法實現不能拖動,但是可以模擬下,你可以使用讓鼠標點擊到視
頻所在的video或者div的時候無效化,原理就是鼠標選不到進度條,自然不能拖動了。如果你是要可以控制播放和暫停的話就實現js控制,反正是跳過
video自帶的控制器自己去寫。
2、用個透明的層或圖片把進度條蓋住
左右滑動是由觸摸事件定義的,觸摸事件(touch)會在用戶手指放在屏幕上面的時候、在屏幕上滑動的時候或者是從屏幕上移開的時候觸發。下面具體說明:touchstart事件:當手指觸摸屏幕時候觸發,即使已經有一個手指放在屏幕上也會觸發。touchmove事件:當手指在屏幕上滑動的時候連續地觸發。在這個事件發生期間,調用preventDefault()事件可以阻止滾動。touchend事件:當手指從屏幕上離開的時候觸發。touchcancel事件:當系統停止跟蹤觸摸的時候觸發。關于這個事件的確切出發時間,文檔中并沒有具體說明,咱們只能去猜測了。上面的這些事件都會冒泡,也都可以取消。雖然這些觸摸事件沒有在DOM規范中定義,但是它們卻是以兼容DOM的方式實現的。所以,每個觸摸事件的event對象都提供了在鼠標實踐中常見的屬性:bubbles(起泡事件的類型)、cancelable(是否用 preventDefault() 方法可以取消與事件關聯的默認動作)、clientX(返回當事件被觸發時,鼠標指針的水平坐標)、clientY(返回當事件觸發時,鼠標指針的垂直坐標)、screenX(當某個事件被觸發時,鼠標指針的水平坐標)和screenY(返回當某個事件被觸發時,鼠標指針的垂直坐標)。除了常見的DOM屬性,觸摸事件還包含下面三個用于跟蹤觸摸的屬性。touches:表示當前跟蹤的觸摸操作的touch對象的數組。targetTouches:特定于事件目標的Touch對象的數組。changeTouches:表示自上次觸摸以來發生了什么改變的Touch對象的數組。每個Touch對象包含的屬性如下。clientX:觸摸目標在視口中的x坐標。clientY:觸摸目標在視口中的y坐標。identifier:標識觸摸的唯一ID。pageX:觸摸目標在頁面中的x坐標。pageY:觸摸目標在頁面中的y坐標。screenX:觸摸目標在屏幕中的x坐標。screenY:觸摸目標在屏幕中的y坐標。target:觸目的DOM節點目標。
舉個例子-JavaScript代碼:
function?load?(){
document.addEventListener('touchstart',touch,?false);
document.addEventListener('touchmove',touch,?false);
document.addEventListener('touchend',touch,?false);
function?touch?(event){
var?event?=?event?||?window.event;
var?oInp?=?document.getElementById("inp");
switch(event.type){
case?"touchstart":
oInp.innerHTML?=?"Touch?started?("?+?event.touches[0].clientX?+?","?+?event.touches[0].clientY?+?")";
break;
case?"touchend":
oInp.innerHTML?=?"Touch?end?("?+?event.changedTouches[0].clientX?+?","?+?event.changedTouches[0].clientY?+?")";
break;
case?"touchmove":
event.preventDefault();
oInp.innerHTML?=?"Touch?moved?("?+?event.touches[0].clientX?+?","?+?event.touches[0].clientY?+?")";
break;
}
}
}
window.addEventListener('load',load,?false);
HTML代碼:
div?id="inp"/div
上面的小例子當touchstart事件觸發的時候,會將觸摸的位置更新到div標簽中。當touchmove事件觸發的時候,會默認行為的滾動(觸摸移動的默認行為是滾動頁面),然后觸摸操作的變化信息更新到div標簽中。而touchend事件會輸出有關觸摸操作的最終信息。注意,在touchend事件觸發的時候,touches集合中就沒有任何Touch對象了,因為不存在活動的觸摸操作。
這些事件會在文檔的所有元素上面觸發,因而可以分別操作頁面的不同部分。在觸摸屏幕上的元素,這些事件(包括鼠標事件)發生的順序如下:
(1)touchstart
(2)mouseover
(3)mousemove(一次)
(4)mousedown
(5)mouseup
(6)click
(7)touchend
當前題目:html5禁止滑動,div禁止滾動
文章分享:http://vcdvsql.cn/article34/dsdepse.html
成都網站建設公司_創新互聯,為您提供外貿建站、用戶體驗、App設計、做網站、Google、電子商務
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯