autojs滑动代码(JS代码滚动,我写好了,但它不会动,请高手帮改下!)

本文目录
- JS代码滚动,我写好了,但它不会动,请高手帮改下!
- js如何实现页面的滚动条下拉时加载更多(附代码)
- JavaScript 商品展示图片左右滚动代码怎么写
- auto.js 怎么写加速滑动
- auto.js滑动到指定的控件
- 如何用javascript代码实现图片由右向左滑动效果!!!跪求答案!!!很急!!!!
- 在js中如何实现移动端触摸轮播
- 通过JS如何实现文字间歇循环滚动效果
- 大量autojs常用代码介绍以及示例
JS代码滚动,我写好了,但它不会动,请高手帮改下!
缺包含文件啊
《!--
/*MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类) Ver 1.65*\
copyright qqlxinye
应用说明:页面包含《script type="text/javascript" src="MSClass.js"》《/script》
创建实例:
//参数直接赋值法
new Marquee("marquee")
new Marquee("marquee","top")
......
new Marquee("marquee",0,1,760,52)
new Marquee("marquee","top",1,760,52,50,5000)
......
new Marquee("marquee",0,1,760,104,50,5000,3000,52)
new Marquee("marquee",null,null,760,104,null,5000,null,-1)
//参数动态赋值法
var marquee1 = new Marquee("marquee") *此参数必选
marquee1.Direction = "top"; 或者 marquee1.Direction = 0;
marquee1.Step = 1;
marquee1.Width = 760;
marquee1.Height = 52;
marquee1.Timer = 50;
marquee1.DelayTime = 5000;
marquee1.WaitTime = 3000;
marquee1.ScrollStep = 52;
marquee1.Start();
参数说明:
ID "marquee" 容器ID (必选)
Direction (0) 滚动方向 (可选,默认为0向上滚动) 可设置的值包括:0,1,2,3,"top","bottom","left","right" (0向上 1向下 2向左 3向右)
Step (1) 滚动的步长 (可选,默认值为2,数值越大,滚动越快)
Width (760) 容器可视宽度 (可选,默认值为容器初始设置的宽度)
Height (52) 容器可视高度 (可选,默认值为容器初始设置的高度)
Timer (50) 定时器 (可选,默认值为30,数值越小,滚动的速度越快,1000=1秒,建议不小于20)
DelayTime (5000) 间歇停顿延迟时间(可选,默认为0不停顿,1000=1秒)
WaitTime (3000) 开始时的等待时间(可选,默认或0为不等待,1000=1秒)
ScrollStep (52) 间歇滚动间距 (可选,默认为翻屏宽/高度,该数值与延迟均为0则为鼠标悬停控制,-1禁止鼠标控制)
使用建议:
1、建议直接赋予容器的显示区域的宽度和高度,如(《div id="marquee" style="width:760px;height:52px;"》......《/div》)
2、建议为容器添加样式overflow = auto,如(《div id="marquee" style="width:760px;height:52px;overflow:auto;"》......《/div》)
3、为了更准确的获取滚动区域的宽度和高度,请尽可能将各滚动单位直接赋予正确宽高度
4、对于TABLE标记的横向滚动,需要对TABLE添加样式display = inline,如(《div id="marquee" style="width:760px;height:52px;overflow:auto;"》《table style="display:inline"》......《/table》《/div》)
5、对于翻屏滚动或间歇滚动,要注意各滚动单位间的间距,同时需要对容器的可视高度和可视宽度做好准确的设置,对于各滚动单位间的间距可以通过设置行间距或者单元格的高宽度来进行调整
6、对于LI自动换行的问题暂时没有更好的解决办法,建议将其转换成表格(TABLE)的形式来达到同等的效果
7、针对横向滚动的文字段落,如果最末端是以空格" "结束的,请将空格" "转换成" "
8、鼠标悬停滚动思想源自Flash,所以有一定的局限性(容器内仅允许用图片《img》或者带链接的图片《a》《img》《/a》的形式,并需要禁止其自动换行)
\***程序制作/版权所有:qqlxinye.cn
function Marquee()
{
this.ID = document.getElementById(arguments);
if(!this.ID)
{
alert("您要设置的\"" + arguments + "\"初始化错误\r\n请检查标签ID设置是否正确!");
this.ID = -1;
return;
}
this.Direction = this.Width = this.Height = this.DelayTime = this.WaitTime = this.CTL = this.StartID = this.Stop = this.MouseOver = 0;
this.Step = 1;
this.Timer = 30;
this.DirectionArray = {"top":0 , "up":0 , "bottom":1 , "down":1 , "left":2 , "right":3};
if(typeof arguments;
if(typeof arguments;
if(typeof arguments;
if(typeof arguments;
if(typeof arguments;
if(typeof arguments;
if(typeof arguments;
if(typeof arguments;
this.ID.style.overflow = this.ID.style.overflowX = this.ID.style.overflowY = "hidden";
this.ID.noWrap = true;
this.IsNotOpera = (navigator.userAgent.toLowerCase().indexOf("opera") == -1);
if(arguments.length 》= 7)this.Start();
}
Marquee.prototype.Start = function()
{
if(this.ID == -1)return;
if(this.WaitTime 《 800)this.WaitTime = 800;
if(this.Timer 《 20)this.Timer = 20;
if(this.Width == 0)this.Width = parseInt(this.ID.style.width);
if(this.Height == 0)this.Height = parseInt(this.ID.style.height);
if(typeof this.Direction == "string")this.Direction = this.DirectionArray;
this.HalfWidth = Math.round(this.Width / 2);
this.HalfHeight = Math.round(this.Height / 2);
this.BakStep = this.Step;
this.ID.style.width = this.Width + "px";
this.ID.style.height = this.Height + "px";
if(typeof this.ScrollStep != "number")this.ScrollStep = this.Direction 》 1 ? this.Width : this.Height;
var templateLeft = "《table cellspacing=’0’ cellpadding=’0’ style=’border-collapse:collapse;display:inline;’》《tr》《td noWrap=true style=’white-space: nowrap;word-break:keep-all;’》MSCLASS_TEMP_HTML《/td》《td noWrap=true style=’white-space: nowrap;word-break:keep-all;’》MSCLASS_TEMP_HTML《/td》《/tr》《/table》";
var templateTop = "《table cellspacing=’0’ cellpadding=’0’ style=’border-collapse:collapse;’》《tr》《td》MSCLASS_TEMP_HTML《/td》《/tr》《tr》《td》MSCLASS_TEMP_HTML《/td》《/tr》《/table》";
var msobj = this;
msobj.tempHTML = msobj.ID.innerHTML;
if(msobj.Direction 《= 1)
{
msobj.ID.innerHTML = templateTop.replace(/MSCLASS_TEMP_HTML/g,msobj.ID.innerHTML);
}
else
{
if(msobj.ScrollStep == 0 && msobj.DelayTime == 0)
{
msobj.ID.innerHTML += msobj.ID.innerHTML;
}
else
{
msobj.ID.innerHTML = templateLeft.replace(/MSCLASS_TEMP_HTML/g,msobj.ID.innerHTML);
}
}
var timer = this.Timer;
var delaytime = this.DelayTime;
var waittime = this.WaitTime;
msobj.StartID = function(){msobj.Scroll()}
msobj.Continue = function()
{
if(msobj.MouseOver == 1)
{
setTimeout(msobj.Continue,delaytime);
}
else
{ clearInterval(msobj.TimerID);
msobj.CTL = msobj.Stop = 0;
msobj.TimerID = setInterval(msobj.StartID,timer);
}
}
msobj.Pause = function()
{
msobj.Stop = 1;
clearInterval(msobj.TimerID);
setTimeout(msobj.Continue,delaytime);
}
msobj.Begin = function()
{
msobj.ClientScroll = msobj.Direction 》 1 ? msobj.ID.scrollWidth / 2 : msobj.ID.scrollHeight / 2;
if((msobj.Direction 《= 1 && msobj.ClientScroll 《= msobj.Height + msobj.Step) || (msobj.Direction 》 1 && msobj.ClientScroll 《= msobj.Width + msobj.Step)) {
msobj.ID.innerHTML = msobj.tempHTML;
delete(msobj.tempHTML);
return;
}
delete(msobj.tempHTML);
msobj.TimerID = setInterval(msobj.StartID,timer);
if(msobj.ScrollStep 《 0)return;
msobj.ID.onmousemove = function(event)
{
if(msobj.ScrollStep == 0 && msobj.Direction 》 1)
{
var event = event || window.event;
if(window.event)
{
if(msobj.IsNotOpera)
{
msobj.EventLeft = event.srcElement.id == msobj.ID.id ? event.offsetX - msobj.ID.scrollLeft : event.srcElement.offsetLeft - msobj.ID.scrollLeft + event.offsetX;
}
else
{
msobj.ScrollStep = null;
return;
}
}
else
{
msobj.EventLeft = event.layerX - msobj.ID.scrollLeft;
}
msobj.Direction = msobj.EventLeft 》 msobj.HalfWidth ? 3 : 2;
msobj.AbsCenter = Math.abs(msobj.HalfWidth - msobj.EventLeft);
msobj.Step = Math.round(msobj.AbsCenter * (msobj.BakStep*2) / msobj.HalfWidth);
}
}
msobj.ID.onmouseover = function()
{
if(msobj.ScrollStep == 0)return;
msobj.MouseOver = 1;
clearInterval(msobj.TimerID);
}
msobj.ID.onmouseout = function()
{
if(msobj.ScrollStep == 0)
{
if(msobj.Step == 0)msobj.Step = 1;
return;
}
msobj.MouseOver = 0;
if(msobj.Stop == 0)
{
clearInterval(msobj.TimerID);
msobj.TimerID = setInterval(msobj.StartID,timer);
}
}
}
setTimeout(msobj.Begin,waittime);
}
Marquee.prototype.Scroll = function()
{
switch(this.Direction)
{
case 0:
this.CTL += this.Step;
if(this.CTL 》= this.ScrollStep && this.DelayTime 》 0)
{
this.ID.scrollTop += this.ScrollStep + this.Step - this.CTL;
this.Pause();
return;
}
else
{
if(this.ID.scrollTop 》= this.ClientScroll)
{
this.ID.scrollTop -= this.ClientScroll;
}
this.ID.scrollTop += this.Step;
}
break;
case 1:
this.CTL += this.Step;
if(this.CTL 》= this.ScrollStep && this.DelayTime 》 0)
{
this.ID.scrollTop -= this.ScrollStep + this.Step - this.CTL;
this.Pause();
return;
}
else
{
if(this.ID.scrollTop 《= 0)
{
this.ID.scrollTop += this.ClientScroll;
}
this.ID.scrollTop -= this.Step;
}
break;
case 2:
this.CTL += this.Step;
if(this.CTL 》= this.ScrollStep && this.DelayTime 》 0)
{
this.ID.scrollLeft += this.ScrollStep + this.Step - this.CTL;
this.Pause();
return;
}
else
{
if(this.ID.scrollLeft 》= this.ClientScroll)
{
this.ID.scrollLeft -= this.ClientScroll;
}
this.ID.scrollLeft += this.Step;
}
break;
case 3:
this.CTL += this.Step;
if(this.CTL 》= this.ScrollStep && this.DelayTime 》 0)
{
this.ID.scrollLeft -= this.ScrollStep + this.Step - this.CTL;
this.Pause();
return;
}
else
{
if(this.ID.scrollLeft 《= 0)
{
this.ID.scrollLeft += this.ClientScroll;
}
this.ID.scrollLeft -= this.Step;
}
break;
}
}
//--》
js如何实现页面的滚动条下拉时加载更多(附代码)
本篇文章给大家带来的内容是关于js如何实现页面的滚动条下拉时加载更多(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
在手机上,数据列表的分页都是下拉到底部的时候会加载更多,但是,去年三月份的时候遇到了客户要求web页面也要下拉加载更多的需求,于是按照web页面在滚动条下拉时加载更多内容(个人项目经验)文中的代码实现了这个下拉加载,很简单的,代码如下:
var totalPages;//总页数
var pageno = 0;//当前页数
$(function(){
$(window).scroll(function() {
var scrollTop = $(this).scrollTop(),scrollHeight = $(document).height(),windowHeight = $(this).height();
var positionValue = (scrollTop + windowHeight) - scrollHeight;
if (positionValue == 0) {
//do something
if (pageno 《 totalPages - 1) {
pageno++;
doSomething(pageno);
} else {
alert(’没有更多了’);
}
}
});
);
function doSomething(pageno) {
var url = "*******";//分页列表的接口
var data = {
size: 5,
start: pageno,
};
$.getJSON(url, data, function (rtn) {
});
}但是,今天测试人员发现,当浏览器缩放了或者屏幕显示设置缩放时,就不能下拉加载了。时隔一年多,真是惊人@_@
经过调试,发现是有缩放时positionValue的值就无法等于0了,没法继续加载更多了,这时看到一篇文章下拉加载更多DEMO(js实现)中讲到:
如果等滚动条拉到底部时再加载,会影响用户体验。因为一般动态加载的时候都需要向服务端请求资源,这时需要时间。一个更佳的方式是,当滚动条距离底部一定距离(C)时,就动态加载更多,向服务端请求资源。也就是预加载,预读取。公式如下
this.scrollHeight - C == $(this).scrollTop() + $(this).height()看完后收到启发,于是将positionValue的值设为大于等于-10,这里的10也就是滚动条距离底部一定距离(C)的值。
果然,没问题了,有缩放时也可以正常实现下拉加载。
于是,记录下来,分享给大家,共勉。
另外提醒一点,$(window).scroll(function()监听滚动事件不执行这个问题中的采纳答案提到:
html,body的高度样式如果设置为100%,$(window).scroll方法将检测不到正确的滚出高度(0),导致滚动监听事件失效,设置html,body{ height:auto }可以解决。代码var totalPages;//总页数
var pageno = 0;//当前页数
var C = 10;//滚动条距离底部的距离
$(function(){
$(window).scroll(function() {
var scrollTop = $(this).scrollTop(),scrollHeight = $(document).height(),windowHeight = $(this).height();
var positionValue = (scrollTop + windowHeight) - scrollHeight;
if (positionValue 》= -C) {
//do something
if (pageno 《 totalPages - 1) {
pageno++;
doSomething(pageno);
} else {
alert(’没有更多了’);
}
}
});
);
function doSomething(pageno) {
var url = "*******";//分页列表的接口
var data = {
size: 5,
start: pageno,
};
$.getJSON(url, data, function (rtn) {
});
}
JavaScript 商品展示图片左右滚动代码怎么写
***隐藏网址***
***隐藏网址***
《head》
***隐藏网址***
《title》JavaScript 图片滑动切换效果《/title》
《script type="text/javascript"》
var $ = function (id) {
return "string" == typeof id ? document.getElementById(id) : id;
};
var Extend = function(destination, source) {
for (var property in source) {
destination;
}
return destination;
}
var CurrentStyle = function(element){
return element.currentStyle || document.defaultView.getComputedStyle(element, null);
}
var Bind = function(object, fun) {
var args = Array.prototype.slice.call(arguments).slice(2);
return function() {
return fun.apply(object, args.concat(Array.prototype.slice.call(arguments)));
}
}
var Tween = {
Quart: {
easeOut: function(t,b,c,d){
return -c * ((t=t/d-1)*t*t*t - 1) + b;
}
},
Back: {
easeOut: function(t,b,c,d,s){
if (s == undefined) s = 1.70158;
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
}
},
Bounce: {
easeOut: function(t,b,c,d){
if ((t/=d) 《 (1/2.75)) {
return c*(7.5625*t*t) + b;
} else if (t 《 (2/2.75)) {
return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
} else if (t 《 (2.5/2.75)) {
return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
} else {
return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
}
}
}
}
//容器对象,滑动对象,切换数量
var SlideTrans = function(container, slider, count, options) {
this._slider = $(slider);
this._container = $(container);//容器对象
this._timer = null;//定时器
this._count = Math.abs(count);//切换数量
this._target = 0;//目标值
this._t = this._b = this._c = 0;//tween参数
this.Index = 0;//当前索引
this.SetOptions(options);
this.Auto = !!this.options.Auto;
this.Duration = Math.abs(this.options.Duration);
this.Time = Math.abs(this.options.Time);
this.Pause = Math.abs(this.options.Pause);
this.Tween = this.options.Tween;
this.onStart = this.options.onStart;
this.onFinish = this.options.onFinish;
var bVertical = !!this.options.Vertical;
this._css = bVertical ? "top" : "left";//方向
//样式设置
var p = CurrentStyle(this._container).position;
p == "relative" || p == "absolute" || (this._container.style.position = "relative");
this._container.style.overflow = "hidden";
this._slider.style.position = "absolute";
this.Change = this.options.Change ? this.options.Change :
this._slider / this._count;
};
SlideTrans.prototype = {
//设置默认属性
SetOptions: function(options) {
this.options = {//默认值
Vertical: true,//是否垂直方向(方向不能改)
Auto: true,//是否自动
Change: 0,//改变量
Duration: 50,//滑动持续时间
Time: 10,//滑动延时
Pause: 2000,//停顿时间(Auto为true时有效)
onStart: function(){},//开始转换时执行
onFinish: function(){},//完成转换时执行
Tween: Tween.Quart.easeOut//tween算子
};
Extend(this.options, options || {});
},
//开始切换
Run: function(index) {
//修正index
index == undefined && (index = this.Index);
index 《 0 && (index = this._count - 1) || index 》= this._count && (index = 0);
//设置参数
this._target = -Math.abs(this.Change) * (this.Index = index);
this._t = 0;
this._b = parseInt(CurrentStyle(this._slider));
this._c = this._target - this._b;
this.onStart();
this.Move();
},
//移动
Move: function() {
clearTimeout(this._timer);
//未到达目标继续移动否则进行下一次滑动
if (this._c && this._t 《 this.Duration) {
this.MoveTo(Math.round(this.Tween(this._t++, this._b, this._c, this.Duration)));
this._timer = setTimeout(Bind(this, this.Move), this.Time);
}else{
this.MoveTo(this._target);
this.Auto && (this._timer = setTimeout(Bind(this, this.Next), this.Pause));
}
},
//移动到
MoveTo: function(i) {
this._slider.style = i + "px";
},
//下一个
Next: function() {
this.Run(++this.Index);
},
//上一个
Previous: function() {
this.Run(--this.Index);
},
//停止
Stop: function() {
clearTimeout(this._timer); this.MoveTo(this._target);
}
};
《/script》
《/head》
《body》
《style type="text/css"》
.container,.container img {
width: 280px;
height: 200px;
}
.container {
border: 1px solid #333;
}
.container img {
border: 0;
}
《/style》
《div class="container" id="idContainer"》
《table id="idSlider" border="0" cellpadding="0" cellspacing="0"》
《tr》
《td》
《img src="image/11.jpg" /》
《/td》
《/tr》
《tr》
《td》
《img src="image/di.jpg" /》
《/td》
《/tr》
《tr》
《td》
《img src="image/head.gif" /》
《/td》
《/tr》
《/table》
《/div》
《br /》
《br /》
《style type="text/css"》
.num {
position: absolute;
right: 5px;
bottom: 5px;
}
.num li {
float: left;
list-style: none;
color: #fff;
text-align: center;
line-height: 16px;
width: 16px;
height: 16px;
font-family: Arial;
font-size: 12px;
cursor: pointer;
margin: 1px;
border: 1px solid #707070;
background-color: #060a0b;
}
.num li.on {
line-height: 18px;
width: 18px;
height: 18px;
font-size: 14px;
border: 0;
background-color: #ce0609;
font-weight: bold;
}
《/style》
《div class="container" id="idContainer2"》
《table id="idSlider2" border="0" cellpadding="0" cellspacing="0"》
《tr》
《td》
《img src="image/11.jpg" /》
《/td》
《td》
《img src="image/di.jpg" /》
《/td》
《td》
《img src="image/head.gif" /》
《/td》
《/tr》
《/table》
《ul class="num" id="idNum"》
《/ul》
《/div》
《br /》
《div》
《input id="idAuto" type="button" value="停止" /》
《input id="idPre" type="button" value="《《" /》
《input id="idNext" type="button" value="》》" /》
《select id="idTween"》
《option value="0"》
默认缓动
《/option》
《option value="1"》
方式1
《/option》
《option value="2"》
方式2
《/option》
《/select》
《/div》
《script》
new SlideTrans("idContainer", "idSlider", 3).Run();
///////////////////////////////////////////////////////////
var forEach = function(array, callback, thisObject){
if(array.forEach){
array.forEach(callback, thisObject);
}else{
for (var i = 0, len = array.length; i 《 len; i++) { callback.call(thisObject, array, i, array); }
}
}
var st = new SlideTrans("idContainer2", "idSlider2", 3, { Vertical: false });
var nums = ;
//插入数字
for(var i = 0, n = st._count - 1; i 《= n;){
(nums = $("idNum").appendChild(document.createElement("li"))).innerHTML = ++i;
}
forEach(nums, function(o, i){
o.onmouseover = function(){ o.className = "on"; st.Auto = false; st.Run(i); }
o.onmouseout = function(){ o.className = ""; st.Auto = true; st.Run(); }
})
//设置按钮样式
st.onStart = function(){
forEach(nums, function(o, i){ o.className = st.Index == i ? "on" : ""; })
}
$("idAuto").onclick = function(){
if(st.Auto){
st.Auto = false; st.Stop(); this.value = "自动";
}else{
st.Auto = true; st.Run(); this.value = "停止";
}
}
$("idNext").onclick = function(){ st.Next(); }
$("idPre").onclick = function(){ st.Previous(); }
$("idTween").onchange = function(){
switch (parseInt(this.value)){
case 2 :
st.Tween = Tween.Bounce.easeOut; break;
case 1 :
st.Tween = Tween.Back.easeOut; break;
default :
st.Tween = Tween.Quart.easeOut;
}
}
st.Run();
《/script》
《/body》《/html》
auto.js 怎么写加速滑动
"auto";
var n=2000;
while (n》10) {//时间太少了估计机器撑不住
swipe(device.width / 2, 800, device.width / 2, 500, n);
n/=2;///加速,改为n/=0.5就是减速了
sleep(n)
}
auto.js滑动到指定的控件
您要问是auto.js怎么样滑动到指定的控件?步骤如下。
1、需要通过id()或者其他方式获取到目标控件的对象。
2、使用scrollTo()函数将屏幕滑动到该控件所在的位置。
如何用javascript代码实现图片由右向左滑动效果!!!跪求答案!!!很急!!!!
《div id="ibanner"》
《div id="ibanner_pic"》
《a》《img src="images/1.jpg" alt="" /》《/a》
《a 》《img src="images/2.jpg" alt="" /》《/a》
《a 》《img src="images/3.jpg" alt="" /》《/a》
《/div》
《/div》
function $(id) {
return document.getElementById(id);
}
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != ’function’) {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
function addBtn() {
if (!$(’ibanner’) || !$(’ibanner_pic’))
return;
var picList = $(’ibanner_pic’).getElementsByTagName(’a’);
if (picList.length == 0)
return;
var btnBox = document.createElement(’div’);
btnBox.setAttribute(’id’, ’ibanner_btn’);
var SpanBox = ’’;
for (var i = 1; i 《= picList.length; i++) {
var spanList = ’《span class="normal"》’ + i + ’《/span》’;
SpanBox += spanList;
}
btnBox.innerHTML = SpanBox;
$(’ibanner’).appendChild(btnBox);
$(’ibanner_btn’).getElementsByTagName(’span’).className = ’current’;
for (var m = 0; m 《 picList.length; m++) {
var attributeValue = ’picLi_’ + m
picList.setAttribute(’id’, attributeValue);
}
}
function moveElement(elementID, final_x, final_y, interval) {
if (!document.getElementById)
return false;
if (!document.getElementById(elementID))
return false;
var elem = document.getElementById(elementID);
if (elem.movement) {
clearTimeout(elem.movement);
}
if (!elem.style.left) {
elem.style.left = "0px";
}
if (!elem.style.top) {
elem.style.top = "0px";
}
var xpos = parseInt(elem.style.left);
var ypos = parseInt(elem.style.top);
if (xpos == final_x && ypos == final_y) {
moveing = false;
return true;
}
if (xpos 《 final_x) {
var dist = Math.ceil((final_x - xpos) / 10);
xpos = xpos + dist;
}
if (xpos 》 final_x) {
var dist = Math.ceil((xpos - final_x) / 10);
xpos = xpos - dist;
}
if (ypos 《 final_y) {
var dist = Math.ceil((final_y - ypos) / 10);
ypos = ypos + dist;
}
if (ypos 》 final_y) {
var dist = Math.ceil((ypos - final_y) / 10);
ypos = ypos - dist;
}
elem.style.left = xpos + "px";
elem.style.top = ypos + "px";
var repeat = "moveElement(’" + elementID + "’," + final_x + "," + final_y + "," + interval + ")";
elem.movement = setTimeout(repeat, interval);
}
function classNormal() {
var btnList = $(’ibanner_btn’).getElementsByTagName(’span’);
for (var i = 0; i 《 btnList.length; i++) {
btnList.className = ’normal’;
}
}
function picZ() {
var picList = $(’ibanner_pic’).getElementsByTagName(’a’);
for (var i = 0; i 《 picList.length; i++) {
picList.style.zIndex = ’1’;
}
}
var autoKey = false;
function iBanner() {
if (!$(’ibanner’) || !$(’ibanner_pic’) || !$(’ibanner_btn’))
return;
$(’ibanner’).onmouseover = function() {
autoKey = true
};
$(’ibanner’).onmouseout = function() {
autoKey = false
};
var btnList = $(’ibanner_btn’).getElementsByTagName(’span’);
var picList = $(’ibanner_pic’).getElementsByTagName(’a’);
if (picList.length == 1)
return;
picList.style.zIndex = ’2’;
for (var m = 0; m 《 btnList.length; m++) {
btnList.onmouseover = function() {
for (var n = 0; n 《 btnList.length; n++) {
if (btnList.className == ’current’) {
var currentNum = n;
}
}
classNormal();
picZ();
this.className = ’current’;
picList.style.zIndex = ’2’;
var z = this.childNodes.nodeValue - 1;
picList.style.zIndex = ’3’;
if (currentNum != z) {
picList.style.left = ’809px’;
moveElement(’picLi_’ + z, 0, 0, 10);
}
}
}
}
setInterval(’autoBanner()’, 2500);
function autoBanner() {
if (!$(’ibanner’) || !$(’ibanner_pic’) || !$(’ibanner_btn’) || autoKey)
return;
var btnList = $(’ibanner_btn’).getElementsByTagName(’span’);
var picList = $(’ibanner_pic’).getElementsByTagName(’a’);
if (picList.length == 1)
return;
for (var i = 0; i 《 btnList.length; i++) {
if (btnList.className == ’current’) {
var currentNum = i;
}
}
if (currentNum == (picList.length - 1)) {
classNormal();
picZ();
btnList.className = ’current’;
picList.style.zIndex = ’2’;
picList.style.zIndex = ’3’;
picList.style.left = ’809px’;
moveElement(’picLi_0’, 0, 0, 10);
} else {
classNormal();
picZ();
var nextNum = currentNum + 1;
btnList.className = ’current’;
picList.style.zIndex = ’2’;
picList.style.zIndex = ’3’;
picList.style.left = ’809px’;
moveElement(’picLi_’ + nextNum, 0, 0, 10);
}
}
addLoadEvent(addBtn);
addLoadEvent(iBanner);
在js中如何实现移动端触摸轮播
下面我就为大家分享一篇原生js实现移动端触摸轮播的示例代码,具有很好的参考价值,希望对大家有所帮助。
PC端上实现图片轮播效果很简单,只要通过使用click事件就可以非常简单的实现效果,但是在移动端上,就要通过核心的touch事件来实现。
下面是移动端手指滑动轮播图的完整代码。
《!DOCTYPE html》
《html》
《head》
《meta charset="utf-8"》
《meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"》
《style》
*{margin:0;padding:0;}
li{list-style:none;}
.lb{width:320px;height:130px;position:relative;margin:20px auto;overflow: hidden;}
.lb .lb_img{width:2240px;height:130px;position:absolute;left:-320px;}
.lb .lb_img img{width:320px;height:130px;float:left;display:block;}
.lb ul{width:35px;height:4px;position:absolute;bottom:10px;left:50%;margin-left:-15px;}
.lb ul li{width:4px;height:4px;border-radius:2px;border:0.25px solid #fff;margin-left:2.5px;background:#666;float:left;cursor:pointer;}
.lb ul .active{background:#fff;}
.lb ul li:hover{background:#fff;}
《/style》
《/head》
《body》
《p class="lb"》
《p class="lb_img"》
《img src="img/4.jpg"》
《img src="img/0.jpg"》
《img src="img/1.jpg"》
《img src="img/2.jpg"》
《img src="img/3.jpg"》
《img src="img/4.jpg"》
《img src="img/0.jpg"》
《/p》
《ul》
《li class="active"》《/li》
《li》《/li》
《li》《/li》
《li》《/li》
《li》《/li》
《/ul》
《/p》
《script》
var lb = document.querySelector(".lb");
var lb_img = document.querySelector(".lb .lb_img");
var img = document.querySelectorAll(".lb .lb_img img")
var lis = document.querySelectorAll(".lb ul li");
var i=2;
// 初始化手指坐标点
var startPoint = 0;
var startEle = 0;
//手指按下
lb.addEventListener("touchstart",function(e){
startPoint = e.changedTouches.pageX;
startEle = lb_img.offsetLeft;
clearInterval(Time)
});
//手指滑动
lb.addEventListener("touchmove",function(e){
var currPoint = e.changedTouches.pageX;
var disX = currPoint - startPoint;
var left = startEle + disX;
lb_img.style.left = left + "px";
});
//当手指抬起的时候,
lb.addEventListener("touchend",function(e){
var currPoint = e.changedTouches.pageX;
var disX = - (currPoint - startPoint);
var left = startEle + disX;
if(disX 》 150){
i++;
for(var q=0;q《lis.length;q++){
lis.className = ’’;
}
if(i == 7){
i=2;
}
lis.className= "active" ;
lb_img.style.left = -320*(Math.round(disX/320)+i+1)+ ’px’;
}else{
lb_img.style.left = -320*(i-1) + "px";
}
if(disX 《 -150){
i--;
for(var q=0;q《lis.length;q++){
lis.className = ’’;
}
if(i == 1){
i=6;
}
lis.className= "active" ;
lb_img.style.left = -320*(Math.round(-disX/320)+i-2) + ’px’;
}else{
lb_img.style.left = -320*(i-1) + "px";
}
Time=setInterval(autoplay,2000);
})
//设置定时器
Time=setInterval(autoplay,2000);
function autoplay(){
i++;
for(var q=0;q《lis.length;q++){
lis.className = ’’;
}
if(i == 7){
i=2;
}
lis.className= "active" ;
for(var a=0; a《320;a++){
setTimeout(function(){
var left = lb_img.style.left ? lb_img.style.left : "-320px";
left = parseInt(left)-1;
if(left《-1920){
left=-321;
}
lb_img.style.left = left + "px";
},a);
}
}
《/script》
《/body》
《/html》上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
在Angular中如何实现查询天气预报
在Angular中如何实现显示输入内容
在Angular中如何实现日程表功能
在nodejs+express中如何实现文件上传
在Vue+SpringBoot中如何实现博客管理平台
在nodejs中如何解决超出最大的调用栈错误
在Vue中有关于异步组件的示例
通过JS如何实现文字间歇循环滚动效果
这篇文章主要介绍了JS实现的文字间歇循环滚动效果,涉及javascript结合时间函数定时触发实现页面元素动态操作相关技巧,需要的朋友可以参考下
本文实例讲述了JS实现的文字间歇循环滚动效果。分享给大家供大家参考,具体如下:
具体代码如下:
《!DOCTYPE html》
《html》
《head》
《meta charset="utf-8"/》
《title》www.gxlcms.com - 间歇循环滚动《/title》
《style》
#box{
height:240px;
width:300px;
margin:0 auto;
border:1px solid #0066FF;
overflow:hidden;
padding-bottom:20px;
}
#box li{
color:#333;
height:24px;
}
#box ul{
margin:0;
padding:0;
}
《/style》
《/head》
《body》
《p id="box"》
《ul id="con1"》
《li》脚本之家1《/li》
《li》脚本之家2《/li》
《li》脚本之家3《/li》
《li》脚本之家4《/li》
《li》脚本之家5《/li》
《li》脚本之家6《/li》
《li》脚本之家7《/li》
《li》脚本之家8《/li》
《li》脚本之家9《/li》
《/ul》
《/p》
《script》
var area=document.getElementById("box");
area.innerHTML+=area.innerHTML;
var liHeight=24;
area.scrollTop=0;
var delay=2000;
var speed=50;
var time;
function starMove(){
area.scrollTop++;
time=setInterval("scrollUp()",speed);
}
function scrollUp(){
if(area.scrollTop%liHeight==0){
clearInterval(time);
setTimeout("starMove()",delay);
}else{
area.scrollTop++;
if(area.scrollTop》=area.offsetHeight/2){
area.scrollTop=0;
}
}
}
setTimeout("starMove()",delay);
《/script》
《/body》
《/html》上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
详解react关于事件绑定this的四种方式
利用vuex实现登录状态的存储与未登录状态不允许浏览,具体有哪些方法?
解决低版本的浏览器不支持es6的import问题
大量autojs常用代码介绍以及示例
一.全局
二.应用(App)
三.坐标
四.控件
①.文本控件
②.滑动控件
③.方形控件
五.选择器进阶
六.UiSelector选择器
①控件属性
②.控件类型
七.选择器操作
八.模拟按键
示例:
①.一般排序
②.在屏幕上半部分寻找文本控件TextView
③.findOne设置延时寻找控件
④.findOnce
⑤.findOnce()
⑥.setText
⑦.App
⑧.发送意图
⑨.事件监听
⑩.悬浮窗
①①:文件系统
①②.全局函数
①③.Http
①④.图片与颜色
①⑤.基于控件的操作

更多文章:
下载免费java(有什么无病毒、安全的网站可以免费下载java格式手机游戏,且是触屏全屏的)
2026年9月24日 18:00
php7连接mysql数据库操作(PHP7连接mysql数据库方法)
2025年12月29日 00:15
c语言终止程序(C语言~~~如何使程序中途结束、跳出~~~)
2025年6月5日 07:30
flex布局的兼容性(怎么用css使得input的输入框对齐,要写出代码,别百度其他的)
2026年7月27日 12:15
正则表达式支持库(怎样在aardio中使用正则表达式,用哪个函数)
2025年11月17日 05:30
腾讯云数据库管理工具(navicat导入mangodb几百万行传输中断)
2025年12月5日 03:30
java 线程安全(java中为什么说,String是线程安全的)
2026年5月1日 04:00
下载excel教程(windows家庭中文版的怎么下载excel教程)
2026年8月11日 20:15
delphi控制485(如何在delphi中使用海康威视的485口)
2026年9月4日 06:00
tengine windows(天龙八部报错是怎么回事啊 )
2026年2月14日 17:45
ctab化学名称?predictive与predictable的区别
2026年8月14日 15:30










