【20190123】JavaScript-轮播图特效中出现的问题
var pic=document.getElementById("pic1");
var next=document.getElementById("next");
var pre=document.getElementById("pre");
var ad = document.getElementById("ad1");
var cirBtns=ad.getElementsByTagName("span");
var index=1;
var animated=false;
pre.onclick=function () {
if (index===1){
index=3;
} else{
index-=1;
}
if (!animated){
animate(1000);
}
showBtns();
}
next.onclick=function () {
if (index===3){
index=1;
} else{
index+=1;
}
if (!animated){
animate(-1000);
}
showBtns();
}
function animate(offset) {
animated=true;
var newLeft=pic.offsetLeft+offset;
var time=300;
var interval=5;
var speed=offset/(time/interval);
function go() {
if((speed<0 && pic.offsetLeft>newLeft)||(speed>0 && pic.offsetLeft<newLeft)){
pic.style.left=pic.offsetLeft+speed+"px";
setTimeout(go,interval);
} else {
animated=false;
pic.style.left=newLeft+"px";
if (newLeft <= -4000) {
pic.style.left = "-1000px";
} else if (newLeft >= 0) {
pic.style.left = "-3000px"
}
}
}
go();
}
function showBtns() {
for(var i=0;i<cirBtns.length;i++){
var button=cirBtns[i];
if(button.className === "on"){
button.className="";
break;
}
}
cirBtns[index-1].className="on";
}
for(var i=0;i<cirBtns.length;i++){
var button=cirBtns[i];
button.onclick=function () {
if(this.className==="on"){
return;
}
var myIndex=parseInt(this.getAttribute("index"));
var offset=-1000*(myIndex-index);
if(!animated){
animate(offset);
}
index=myIndex;
showBtns();
}
}
var autoTimer;
function autoPlay() {
autoTimer=setInterval(function () { next.onclick(); },3000);
}
function autoStop() { clearInterval(autoTimer); }
ad.onmouseover=autoStop;
ad.onmouseout=autoPlay;
autoPlay();
【20190123】JavaScript-轮播图特效中出现的问题的更多相关文章
- 【JavaScript】固定布局轮播图特效
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 2、原生js实现轮播图特效
很多很多网站经常会用到一个特效,那就是轮播图,对于日新月异的前端技术来说其实就是一个框架一个接口的事,但轮播的原理是什么?用最原始的javascript来写又是怎样的呢?本人是一枚菜鸟,这篇文章就当做 ...
- 练习:javascript轮播图效果
javascript轮播自动播放切换滑过停止,上一页/下一页 <!DOCTYPE html> <html lang="en"> <head> & ...
- 【jQuery】百分比自适应屏幕轮播图特效
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JavaScript 轮播图
这是我自己做的一个轮播图,大家可以看看 ,我还没进行优化.有改进的地方可以私聊 布局什么的你们自己搞定吧 <div class="slider" id="circl ...
- JavaScript轮播图
需求: 鼠标移动到下标页码时,也转换到相对应的图片: 多张图片可以自动轮播: 鼠标移动至图片时,停止自动轮播: 可以手动左右调节: <!DOCTYPE html> <html lan ...
- JS实现轮播图特效(带二级导航)
按照国际惯例先放效果图 index.html <!DOCTYPE html> <html lang="en"> <head> <meta ...
- 超详细的原生JavaScript轮播图(幻灯片)的制作
本次轮播图的制作主要分为3个部分,分别是:设置定时器自动轮播:点击左右切换按钮轮播:下方点击按钮轮播.具体实现步骤如下: (效果图) html部分代码如下: <div class="s ...
- jQuery插件slides实现无缝轮播图特效
初始化插件: slides是一款基于jQuery无缝轮播图插件,支持图内元素动画,可以自定义动画类型 1 2 3 4 5 6 7 8 9 10 $(".slideInner").s ...
随机推荐
- kaldi实例脚本运行
Getting started, and prerequisites. rm/s5/run.sh Data preparation 如果有GridEngine, train_cmd="que ...
- jdk8新特性---list.stream
项目中用到了该api ,记录下来 具有get set 构造方法的实体类 开始使用: 结果为: 更多可以参考: https://blog.csdn.net/justloveyou_/article/de ...
- Mac 下 Gradle 环境配置
1. gradle路径的查找 然后gradle 右键 显示简介 复制下蓝色的 2. 环境变量的配置 在.bash_profile文件中,添加如下图选中内容的配置信息: 执行source .bash_p ...
- 3.复杂的viewpager
实现这样的效果: 1.主页面布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&quo ...
- 微信开发-PC调试-JS-SDK功能之分享功能调试
一般涉及和第三方的开发调试,都会比较麻烦些.不过,像微信这样的大公司呢,产品技术是过硬的,所以,基本上只要自己把文档看仔细了,弄好了,基本就没有问题了. 对于后端接口一类的调试,主要就是通过打印访问日 ...
- Nginx 负载均衡与反向代理
通过设置权重来轮询 weight server 192.168.1.62 weight=5 server 192.168.63 weight=1 ip_hash 第3方均衡策略 fair url_h ...
- Python -- tabulate 模块,
pip install tabulate >>> from tabulate import tabulate >>> table = [["Sun&quo ...
- 从零开始学 Web 之 Ajax(三)Ajax 概述,快速上手
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- Jenkins : 安装 master 和 slave
目录 安装 master 安装 slave 设置 master 与 slave 的通信方式 添加 slave 配置 在 salve 上安装 jre 安装并配置 Jenkins salve Jenkin ...
- Ocelot中文文档-Configuration
配置 一个关于Ocelot配置例子在这里.配置有两个部分.一个数组类型的ReRoutes和一个全局配置.ReRoutes是个对象,告诉Ocelot怎么去处理一个上游请求.全局配置有点繁琐(is a h ...