三指滑動腳本源碼js(滑動腳本代碼)

本文目錄一覽:

求做一個按鍵精靈鼠標上下滑動的腳本

UserVar sx=100 “首X坐標”

UserVar sy=100 “首Y坐標”

UserVar ex=300 “尾X坐標”

UserVar ey=300 “尾y坐標”

UserVar yc=5 “延遲”

MoveTo sx, sy

//RightDown 1 //使用時,請自己取消注釋!

tx = ex – sx

ty = ey – sy

If tx = ty Then 

    ci = ty

    tx = tx / ty

    ty = ty / ty

Else 

    ci = tx

    tx = tx / tx

    ty = ty / tx

End If

do

For i = 1 To ci

    Moveto sx+tx*i*(-1)^n, sy+ty*i*(-1)^n

    Delay yc

Next

GetCursorPos x, y

sx = x

sy = y

If n = 0 Then 

    n = 1

Else 

    n = 0

End If

loop

手機app滑動輪播原生js怎麼寫

下面是提供的一個demo:

1、html

!DOCTYPE HTML

html

head

meta charset=”utf-8″/

meta http-equiv=”X-UA-Compatible” content=”IE=edge,chrome=1″ /

meta name=”viewport” content = “width=device-width, target-densitydpi=high-dpi, initial-scale=1.0, maximum-scale=1.0, user-scalable=no” /

meta name=”apple-mobile-web-app-capable” content=”yes” /

meta name=”apple-mobile-web-app-status-bar-style” content=”black” /

meta content=”telephone=no” name=”format-detection” /

meta name=”keywords” content=”seokeywords”/

meta name=”description” content=”seodescription”/

titlemggScrollImg demo 作者:js明哥哥/title

style

ul,li{margin:0;padding:0;}

@media screen and (min-width:240px) {

html, body{

font-size:9px;

}

}

@media screen and (min-width:320px) {

html, body{

font-size:12px;

}

}

@media screen and (min-width:480px) {

html, body{

font-size:18px;

}

}

@media screen and (min-width:640px) {

html, body{

font-size:24px;

}

}

@media screen and (min-width:960px) {

html, body{

font-size:36px;

}

}

div.imgbox{width:25rem;height:16.5rem;overflow:hidden;margin:0 auto;}

div.imgbox ul{clear:both;width:75rem;}

div.imgbox ul li{float:left;width:25rem;height:16.5rem;overflow:hidden;text-align:center;}

div.imgbox ul li img{width:24rem;height:16.5rem;}

#page{color:red;}

/style

/head

body

div class=”imgbox”

ul

lia href=””img src=””/img/a/li

lia href=””img src=””/img/a/li

lia href=””img src=””/img/a/li

/ul

/div

div這裡通過回調顯示當前滾動到多少頁:span id=”page”0/span/div

script src=””/script

script src=”mggScrollImg.js”/script

script

(function(){

/*

注意:$.mggScrollImg返回的scrollImg對象上有

next,prev,go三個方法,可以實現外部對滾動索引的控制。

如:scrollImg.next();//會切換到下一張圖片

scrollImg.go(0);//會切換到第一張圖片

*/

var scrollImg = $.mggScrollImg(‘.imgbox ul’,{

loop : true,//循環切換

auto : true,//自動切換

callback : function(ind){//這裡傳過來的是索引值

$(‘#page’).text(ind+1);

}

});

})()

/script

/body

/html

2、核心滑動腳本代碼

(function($){

/*

圖片滾動效果

add 2014-05-14 by js明哥哥

博客地址:

@jQuery or @String box : 滾動列表jQuery對象或者選擇器 如:滾動元素為li的外層ul

@object config : {

@Number width : 一次滾動寬度,默認為box裡面第一個一級子元素寬度[如果子元素寬度不均勻則滾動效果會錯亂]

@Number size : 列表長度,默認為box裡面所有一級子元素個數[如果size不等於一級子元素個數,則不支持循環滾動]

@Boolean loop : 是否支持循環滾動 默認 true

@Boolean auto : 是否自動滾動,支持自動滾動時必須支持循環滾動,否則設置無效,默認為true

@Number auto_wait_time : 自動輪播一次時間間隔,默認為:3000ms

@Function callback : 滾動完回調函數,參入一個參數當前滾動節點索引值

}

*/

function mggScrollImg(box,config){

this.box = $(box);

this.config = $.extend({},config||{});

this.width = this.config.width||this.box.children().eq(0).width();//一次滾動的寬度

this.size = this.config.size||this.box.children().length;

this.loop = this.config.loop||true;//默認能循環滾動

this.auto = this.config.auto||true;//默認自動滾動

this.auto_wait_time = this.config.auto_wait_time||3000;//輪播間隔

this.scroll_time = 300;//滾動時長

this.minleft = -this.width*(this.size-1);//最小left值,注意是負數[不循環情況下的值]

this.maxleft =0;//最大lfet值[不循環情況下的值]

this.now_left = 0;//初始位置信息[不循環情況下的值]

this.point_x = null;//記錄一個x坐標

this.point_y = null;//記錄一個y坐標

this.move_left = false;//記錄向哪邊滑動

this.index = 0;

this.busy = false;

this.timer;

this.init();

}

$.extend(mggScrollImg.prototype,{

init : function(){

this.bind_event();

this.init_loop();

this.auto_scroll();

},

bind_event : function(){

var self = this;

self.box.bind(‘touchstart’,function(e){

if(e.touches.length==1 !self.busy){

self.point_x = e.touches[0].screenX;

self.point_y = e.touches[0].screenY;

}

}).bind(‘touchmove’,function(e){

if(e.touches.length==1 !self.busy){

return self.move(e.touches[0].screenX,e.touches[0].screenY);//這裡根據返回值覺得是否阻止默認touch事件

}

}).bind(‘touchend’,function(e){

!self.busy self.move_end();

});

},

/*

初始化循環滾動,當一次性需要滾動多個子元素時,暫不支持循環滾動效果,

如果想實現一次性滾動多個子元素效果,可以通過頁面結構實現

循環滾動思路:複製首尾節點到尾首

*/

init_loop : function(){

if(this.box.children().length == this.size this.loop){//暫時只支持size和子節點數相等情況的循環

this.now_left = -this.width;//設置初始位置信息

this.minleft = -this.width*this.size;//最小left值

this.maxleft = -this.width;

this.box.prepend(this.box.children().eq(this.size-1).clone()).append(this.box.children().eq(1).clone()).css(this.get_style(2));

this.box.css(‘width’,this.width*(this.size+2));

}else{

this.loop = false;

this.box.css(‘width’,this.width*this.size);

}

},

auto_scroll : function(){//自動滾動

var self = this;

if(!self.loop || !self.auto)return;

clearTimeout(self.timer);

self.timer = setTimeout(function(){

self.go_index(self.index+1);

},self.auto_wait_time);

},

go_index : function(ind){//滾動到指定索引頁面

var self = this;

if(self.busy)return;

clearTimeout(self.timer);

self.busy = true;

if(self.loop){//如果循環

ind = ind0?-1:ind;

ind = indself.size?self.size:ind;

}else{

ind = ind0?0:ind;

ind = ind=self.size?(self.size-1):ind;

}

if(!self.loop (self.now_left == -(self.width*ind))){

self.complete(ind);

}else if(self.loop (self.now_left == -self.width*(ind+1))){

self.complete(ind);

}else{

if(ind == -1 || ind == self.size){//循環滾動邊界

self.index = ind==-1?(self.size-1):0;

self.now_left = ind==-1?0:-self.width*(self.size+1);

}else{

self.index = ind;

self.now_left = -(self.width*(self.index+(self.loop?1:0)));

}

self.box.css(this.get_style(1));

setTimeout(function(){

self.complete(ind);

},self.scroll_time);

}

},

complete : function(ind){//動畫完成回調

var self = this;

self.busy = false;

self.config.callback self.config.callback(self.index);

if(ind==-1){

self.now_left = self.minleft;

}else if(ind==self.size){

self.now_left = self.maxleft;

}

self.box.css(this.get_style(2));

self.auto_scroll();

},

next : function(){//下一頁滾動

if(!this.busy){

this.go_index(this.index+1);

}

},

prev : function(){//上一頁滾動

if(!this.busy){

this.go_index(this.index-1);

}

},

move : function(point_x,point_y){//滑動屏幕處理函數

var changeX = point_x – (this.point_x===null?point_x:this.point_x),

changeY = point_y – (this.point_y===null?point_y:this.point_y),

marginleft = this.now_left, return_value = false,

sin =changeY/Math.sqrt(changeX*changeX+changeY*changeY);

this.now_left = marginleft+changeX;

this.move_left = changeX0;

if(sinMath.sin(Math.PI/3) || sin-Math.sin(Math.PI/3)){//滑動屏幕角度範圍:PI/3 — 2PI/3

return_value = true;//不阻止默認行為

}

this.point_x = point_x;

this.point_y = point_y;

this.box.css(this.get_style(2));

return return_value;

},

move_end : function(){

var changeX = this.now_left%this.width,ind;

if(this.now_leftthis.minleft){//手指向左滑動

ind = this.index +1;

}else if(this.now_leftthis.maxleft){//手指向右滑動

ind = this.index-1;

}else if(changeX!=0){

if(this.move_left){//手指向左滑動

ind = this.index+1;

}else{//手指向右滑動

ind = this.index-1;

}

}else{

ind = this.index;

}

this.point_x = this.point_y = null;

this.go_index(ind);

},

/*

獲取動畫樣式,要兼容更多瀏覽器,可以擴展該方法

@int fig : 1 動畫 2 沒動畫

*/

get_style : function(fig){

var x = this.now_left ,

time = fig==1?this.scroll_time:0;

return {

‘-webkit-transition’:’-webkit-transform ‘+time+’ms’,

‘-webkit-transform’:’translate3d(‘+x+’px,0,0)’,

‘-webkit-backface-visibility’: ‘hidden’,

‘transition’:’transform ‘+time+’ms’,

‘transform’:’translate3d(‘+x+’px,0,0)’

};

}

});

/*

這裡對外提供調用接口,對外提供接口方法

next :下一頁

prev :上一頁

go :滾動到指定頁

*/

$.mggScrollImg = function(box,config){

var scrollImg = new mggScrollImg(box,config);

return {//對外提供接口

next : function(){scrollImg.next();},

prev : function(){scrollImg.prev();},

go : function(ind){scrollImg.go_index(parseInt(ind)||0);}

}

}

})(Zepto)

誰給我發一下讓屏幕上下不停滑動的auto.js的腳本?

這幾行腳本會先下滑在上滑停兩秒在重複

“auto”;

while (true) {

swipe(device.width / 2, 800, device.width / 2, 500, 2000);

swipe(device.width / 2, 500, device.width / 2, 800, 2000);

sleep(2000)

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/233566.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-11 17:11
下一篇 2024-12-11 17:11

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • Python腳本控制其他軟件

    Python作為一種簡單易學、功能強大的腳本語言,具有廣泛的應用領域,在自動化測試、Web開發、數據挖掘等領域都得到了廣泛的應用。其中,Python腳本控制其他軟件也是Python…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • 雲智直聘 源碼分析

    本文將會對雲智直聘的源碼進行分析,包括前端頁面和後端代碼,幫助讀者了解其架構、技術實現以及對一些常見的問題進行解決。通過本文的閱讀,讀者將會了解到雲智直聘的特點、優勢以及不足之處,…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29

發表回復

登錄後才能評論