gpt4 book ai didi

javascript - javascript 移动盒子的自动播放

转载 作者:行者123 更新时间:2023-11-28 02:57:23 25 4
gpt4 key购买 nike

请前往:http://gati.simptome-remedii.ro/ 。正如您所看到的,标题中有一个轮播效果,一旦您单击箭头或按左/右键,它就会向前和向后移动。我需要它自动播放,所以我需要自动滑动效果。时间间隔应该是5秒(我想我可以稍后设置)。

此轮播效果使用 jquery-1.3.1.min.js 和 slider.js 。

slider .js

$(function() {

var totalPanels = $(".scrollContainer").children().size();

var regWidth = $(".panel").css("width");
var regImgWidth = $(".panel img").css("width");
var regTitleSize = $(".panel h2").css("font-size");
var regParSize = $(".panel p").css("font-size");

var movingDistance = 300;

var curWidth = 350;
var curImgWidth = 220;
var curTitleSize = "15px";
var curParSize = "15px";

var $panels = $('#slider .scrollContainer > div');
var $container = $('#slider .scrollContainer');

$panels.css({'float' : 'left','position' : 'relative'});

$("#slider").data("currentlyMoving", false);

$container
.css('width', ($panels[0].offsetWidth * $panels.length) + 100 )
.css('left', "-350px");

var scroll = $('#slider .scroll').css('overflow', 'hidden');

function returnToNormal(element) {
$(element)
.animate({ width: regWidth })
.find("img")
.animate({ width: regImgWidth })
.end()
.find("h2")
.animate({ fontSize: regTitleSize })
.end()
.find("p")
.animate({ fontSize: regParSize });
};

function growBigger(element) {
$(element)
.animate({ width: curWidth })
.find("img")
.animate({ width: curImgWidth })
.end()
.find("h2")
.animate({ fontSize: curTitleSize })
.end()
.find("p")
.animate({ fontSize: curParSize });
}

//direction true = right, false = left
function change(direction) {

//if not at the first or last panel
if((direction && !(curPanel < totalPanels)) || (!direction && (curPanel <= 1))) { return false; }

//if not currently moving
if (($("#slider").data("currentlyMoving") == false)) {

$("#slider").data("currentlyMoving", true);








var next = direction ? curPanel + 1 : curPanel - 1;
var leftValue = $(".scrollContainer").css("left");
var movement = direction ? parseFloat(leftValue, 10) - movingDistance : parseFloat(leftValue, 10) + movingDistance;

$(".scrollContainer")
.stop()
.animate({
"left": movement
}, function() {
$("#slider").data("currentlyMoving", false);
});

returnToNormal("#panel_"+curPanel);
growBigger("#panel_"+next);

curPanel = next;

//remove all previous bound functions
$("#panel_"+(curPanel+1)).unbind();

//go forward
$("#panel_"+(curPanel+1)).click(function(){ change(true); });

//remove all previous bound functions
$("#panel_"+(curPanel-1)).unbind();

//go back
$("#panel_"+(curPanel-1)).click(function(){ change(false); });

//remove all previous bound functions
$("#panel_"+curPanel).unbind();
}
}




// Set up "Current" panel and next and prev
growBigger("#panel_3");
var curPanel = 3;

$("#panel_"+(curPanel+1)).click(function(){ change(true); });
$("#panel_"+(curPanel-1)).click(function(){ change(false); });

//when the left/right arrows are clicked
$(".right").click(function(){ change(true); });
$(".left").click(function(){ change(false); });

$(window).keydown(function(event){
switch (event.keyCode) {
case 13: //enter
$(".right").click();
break;
case 32: //space
$(".right").click();
break;
case 37: //left arrow
$(".left").click();
break;
case 39: //right arrow
$(".right").click();
break;
}
});



}


);

我真的很期待收到答复。

谢谢!

问候,拉兹万。

最佳答案

简单的事情就是做

setInterval( function() {$('.right').click();}, 5000 );

这将调用每 5 秒单击一次右侧按钮..

但是如果你想让它向左和向右移动,你需要添加一些逻辑..

更新

尝试一下(将其放在 $(window).keydown 行之前..)

setInterval( function(){
if (curPanel == totalPanels)
{
curPanel = 1;
$("#slider").data("currentlyMoving", true);
$(".scrollContainer")
.stop()
.animate({
"left": movingDistance
}, function() {
$("#slider").data("currentlyMoving", false);
});
returnToNormal("#panel_"+totalPanels);
growBigger("#panel_1");

}
else
{
$('.right').click();
}
} ,5000 );

关于javascript - javascript 移动盒子的自动播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2256718/

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