jQuery动画排队问题+;引导分区问题
我使用这段代码的目标是创建一个自定义的“幻灯片”,其中包含滚动上面图片的按钮 在处理了大约两周的同一个问题,整理了API文档和stackoverflow之后,我想我已经做了所有我能做的事情,除了自己在这里发布之外。我一直有两个问题,我的老师不能帮助我,即使在改变我的方法之后 -屏幕外的两张照片延伸了他们所在的部门,看起来。。。丑陋的。即使我让动画工作,他们需要在同一个X轴上看起来平滑。它需要小得多才能看到按钮 -动画同时播放或紧接着播放,甚至在动画完成之前执行与动画无关的代码甚至回调 关于动画,我觉得我要做的最好用一个例子来解释。 我按下jQuery动画排队问题+;引导分区问题,jquery,html,twitter-bootstrap,animation,jquery-animate,Jquery,Html,Twitter Bootstrap,Animation,Jquery Animate,我使用这段代码的目标是创建一个自定义的“幻灯片”,其中包含滚动上面图片的按钮 在处理了大约两周的同一个问题,整理了API文档和stackoverflow之后,我想我已经做了所有我能做的事情,除了自己在这里发布之外。我一直有两个问题,我的老师不能帮助我,即使在改变我的方法之后 -屏幕外的两张照片延伸了他们所在的部门,看起来。。。丑陋的。即使我让动画工作,他们需要在同一个X轴上看起来平滑。它需要小得多才能看到按钮 -动画同时播放或紧接着播放,甚至在动画完成之前执行与动画无关的代码甚至回调 关于动画,
#right按钮
,这会使#centerSlide
快速从屏幕右侧消失。然后,#right slide
滚动到屏幕中央,其src
是正确的,从slideArray
中绘制#centerSlide
在屏幕中央(位于#rightSlide
顶部)显示正确的图片,而#rightSlide
在屏幕右侧显示
另外,如果你们中有人对如何使我的代码更优雅有任何建议,或者对奇怪的格式/样式约定有任何顾虑,请告诉我,以便我可以修复它
这是我的密码:
<!DOCTYPE = html>
商业网站
斯莱德姆先生{
宽度:60%;
位置:相对位置;
溢出:隐藏;
}
.缩略图{
宽度:10%;
}
.bg1{
背景色:#2B4251;
溢出:隐藏;
}
.bg2{
背景色:#91B3BC;
}
.bg3{
背景色:5B7D87;
}
.bg4{
背景色:#45415E;
}
//幻灯片数组初始化
var slideArray=[];
//幻灯片对象构造函数
功能幻灯片(slideNum、imgSrc){
this.slideNum=slideNum;
this.imgSrc=imgSrc;
}
var slide0=新幻灯片(0,“competitive-stick-fig.png”);
var slide1=新幻灯片(1,“working hands.jpg”);
var slide2=新幻灯片(2,“在办公室工作的人.jpg”);
slideArray.push(slide0,slide1,slide2);//将幻灯片添加到阵列
var计数器=0;
var counterMax=slideArray.length-1//数学
//结束幻灯片数组初始化
//jquery
$(文档).ready(函数(){
$(“#左键”)。单击(函数(){
changeCounterNum(“左”);
})
$(“#右键”)。单击(函数(){
changeCounterNum(“右”);
})
函数changeCounterNum(string){//这只是设置计数器以选择正确的centerSlide。centerSlide的实际更改将发生在动画子例程中
如果(字符串==“右”){
如果(计数器==计数器最大值){
计数器=0;
动画滑动(字符串、计数器);
}
否则{
计数器++;
动画滑动(字符串、计数器);
}
}
else if(字符串==“左”){
如果(计数器==0){
计数器=计数器最大值;
动画滑动(字符串、计数器);
}
否则{
计数器--;
动画滑动(字符串、计数器);
}
}
}
函数animateSlide(字符串,num){
如果(字符串==“左”){
$(“#中心幻灯片”)。设置动画({左:“-100%”),“快速”,“摆动”,“$(#左幻灯片”)。设置动画({左:0},“快速”);
$(“#中心幻灯片”).attr(“src”,slideArray[counter].imgSrc);
$(“#中心幻灯片”).css(“左”,0);
$(“#leftSlide”).css(“左”,“100%”);
}
else if(字符串==“右”){
$(“#中心幻灯片”)。动画({left:100%,},“fast”,“swing”,“$(#leftSlide”)。动画({left:0},“fast”);
$(“#中心幻灯片”).attr(“src”,slideArray[counter].imgSrc);
$(“#中心幻灯片”).css(“左”,0);
$(“#leftSlide”).css(“左”,“100%”);
}
}
});
企业名称
竞争的。合作的。计算机化
<title>Business Website</title>
<!--bootstrap stuff-->
<meta name = "viewport" content = "width = device-width, initial-scale = 1">
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link href = "https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet">
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<!--end bootstrap stuff-->
<style>
.slideImg{
width: 60%;
position: relative;
overflow: hidden;
}
.thumbnail{
width: 10%;
}
.bg1{
background-color: #2B4251;
overflow: hidden;
}
.bg2{
background-color: #91B3BC;
}
.bg3{
background-color: #5B7D87;
}
.bg4{
background-color: #45415E;
}
</style>
<!-- JQuery Lib Grab -->
<script src="http://code.jquery.com/jquery-3.2.1.min.js"></script>
<!-- JQuery -->
<script>
//Slide Array init
var slideArray = [];
//slide object constructor
function slide(slideNum, imgSrc){
this.slideNum = slideNum;
this.imgSrc = imgSrc;
}
var slide0 = new slide(0, "competitive-stick-fig.png");
var slide1 = new slide(1, "working-hands.jpg");
var slide2 = new slide(2, "people-working-in-the-office.jpg");
slideArray.push(slide0, slide1, slide2);// add slides to array
var counter = 0;
var counterMax= slideArray.length - 1; //math
// End Slide Array Init
// jquery
$(document).ready( function() {
$("#left-button").click(function(){
changeCounterNum("left");
})
$("#right-button").click(function(){
changeCounterNum("right");
})
function changeCounterNum(string){//this is simply to set up the counter to select the correct centerSlide. The actual changing of the centerSlide will occur in the animation subroutine
if(string == "right"){
if(counter == counterMax){
counter = 0;
animateSlide(string, counter);
}
else{
counter ++;
animateSlide(string, counter);
}
}
else if(string == "left"){
if(counter == 0){
counter = counterMax;
animateSlide(string, counter);
}
else{
counter --;
animateSlide(string, counter);
}
}
}
function animateSlide(string, num){
if(string == "left"){
$("#centerSlide").animate({left: "-100%"}, "fast", "swing", $("#leftSlide").animate({left: 0}, "fast") );
$("#centerSlide").attr("src", slideArray[counter].imgSrc);
$("#centerSlide").css("left", 0);
$("#leftSlide").css("left", "100%");
}
else if(string == "right"){
$("#centerSlide").animate({left: "100%"}, "fast", "swing", $("#leftSlide").animate({left: 0}, "fast"));
$("#centerSlide").attr("src", slideArray[counter].imgSrc);
$("#centerSlide").css("left", 0);
$("#leftSlide").css("left", "100%");
}
}
});
</script>
</head>
<body class = "bg1">
<!--Current Slides -->
<div class = "bg2 fluid-container text-center">
<h1>Business Name</h1>
<h4>Competitive. Cooperative. Computerized.</h4>
<br>
</div>
<div class = "bg3 fluid-container text-center">
<div class = "text-center">
<img id = "leftSlide" class = "slideImg" style = "left: 100%" src = "people-working-in-the-office.jpg">
<img id = "centerSlide" class = "slideImg" src = "competitive-stick-fig.png">
<img id = "rightSlide" class = "slideImg" style = "left: -100%" src = "working-hands.jpg">
</div>
</div>
<br>
<div class = "bg4 fluid-container text-center">
<button type="button" id = "left-button" class="btn btn-lg">
<span class="glyphicon glyphicon-menu-left"></span>
</button>
<img id = "stick-thumb" width = "10%" src = "competitive-stick-fig.png">
<img id = "hands-thumb" width = "10%" src = "working-hands.jpg" >
<img id = "people-thumb" width = "10%" src = "people-working-in-the-office.jpg">
<button type="button" id = "right-button" class="btn btn-lg">
<span class="glyphicon glyphicon-menu-right"></span>
</button>
</div>
</body>