gpt4 book ai didi

javascript - jQuery 动画内容 slider 循环

转载 作者:行者123 更新时间:2023-12-03 11:30:44 24 4
gpt4 key购买 nike

我正在构建的内容 slider 遇到一些问题。有 4 个内容框放置在标签内,这些标签绝对位于相对定位的包装器内。从左到右,这些框的 ID 分别是 #module1、#module2、#module3 和 #module4。当我单击按钮时,我希望内容向右滚动。

  1. #module4 应在页面右侧以动画方式显示、隐藏,然后以动画方式返回到页面左侧的 View 中。
  2. #module3 应位于 #module4 所在位置,并将不透明度设置为与 #module4 相同的 50%。
  3. #module2 应该移动到 #module3 所在的位置。
  4. #module1 应将不透明度设置为 100% 并移动到 #module2 所在的位置。

我遇到的问题是,当 #module4 滚动到页面右侧时,当它移动到页面左侧时,它就可见。我似乎无法弄清楚如何正确地将其隐藏在 View 中,直到它滚动到左侧的 View 中。

这是我的动画代码:

#module1,#module2,#module3,#module4{position:absolute;top:0;width:31.9444%;height:200px;background:#999;}
.wrapper{width:100%;height:220px;position:relative;}
button{position:relative;z-index:1000;}
<body onLoad="contSlidr()">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="wrapper">
<div id="module1">Module1</div>
<div id="module2">Module2</div>
<div id="module3">Module3</div>
<div id="module4">Module4</div>
</div>

<script type="text/javascript">
//////////////////////////////////
// V a r i a b l e s //
//////////////////////////////////
var t = 400;
var mod = [$('#module1'),$('#module2'),$('#module3'),$('#module4')];
var m2 = mod[1].width();
var scrnW = $(document).width();
//////////////////////////////////
function contSlidr(){
$(document).ready(function(){
mod[0].css('left','-23%');
mod[0].css('opacity','.5');
mod[1].css('left',scrnW*0.14583);
var m2PosL = scrnW*0.14583;
mod[2].css('left',m2 + m2PosL + (scrnW*.041667));
mod[3].css('left','88.75%');
mod[3].css('opacity','.5');
});
}
//////////////////////////////////
function animateRight(){
var m2PosL = scrnW*0.14583;
mod[0].animate({
left:scrnW*0.14583,
opacity: 1
},t);
mod[1].animate({
left: parseInt(m2 + m2PosL + (scrnW*.041667))
},t);
mod[2].animate({
left:"88.75%",
opacity:.5
},t);
mod[3].animate({
left:"120%",
},{duration:t/2});
mod[3].css('left','-120%');
mod[3].animate({
left: "-23%",
},{duartion:t});
var b = mod.pop();
mod.unshift(b);
}
//////////////////////////////////
</script>

<button onMouseUp="contSlidr()">Set Left</button>
<button onMouseUp="animateRight()">Move Right</button>
</body>

最佳答案

这段代码为我解决了这个问题。谢谢你们的帮助!

  function animateRight(){
var m2PosL = scrnW*0.14583;
if(c > 5){
c = 1
}
mod[4] = mod[3].clone().attr('id','mod'+c);
mod[4].appendTo('.opinionCon');
mod[4].css('left','-120%');
mod[0].animate({
left:scrnW*0.14583,
opacity: 1
},t);
mod[1].animate({
left: parseInt(m2 + m2PosL + (scrnW*.041667))
},t);
mod[2].animate({
left:"88.75%",
opacity:.5
},t);
mod[3].animate({
left:"120%",
},{duration:t/2}).promise().done(function(){
mod[4].remove();
});
mod[4].animate({
left: "-23%",
},{duartion:t});
var b = mod.pop();
mod.unshift(b);
++c;
}

关于javascript - jQuery 动画内容 slider 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26744322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com