Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 切换按钮激活导致功能触发_Javascript_Html_Css - Fatal编程技术网

Javascript 切换按钮激活导致功能触发

Javascript 切换按钮激活导致功能触发,javascript,html,css,Javascript,Html,Css,我试图创建一个切换按钮,当激活时会触发一个函数 此函数附加了一个超时,并将在给定时间后重新触发 这应该只在按钮处于活动状态时发生,因此如果用户再次单击所述按钮,自动化应该停止。换言之,如果用户使切换按钮处于“非活动”状态,则函数应返回 代码如下: 函数自动滑动(){ slideIndex++; 放映幻灯片(幻灯片索引); 设置超时(自动滑动,10000); } 函数加滑块(n){ 放映幻灯片(幻灯片索引+=n); } 功能当前幻灯片(n){ n--; 放映幻灯片(幻灯片索引=n); } 功能演

我试图创建一个切换按钮,当激活时会触发一个函数

此函数附加了一个超时,并将在给定时间后重新触发

这应该只在按钮处于活动状态时发生,因此如果用户再次单击所述按钮,自动化应该停止。换言之,如果用户使切换按钮处于“非活动”状态,则函数应返回

代码如下:

函数自动滑动(){
slideIndex++;
放映幻灯片(幻灯片索引);
设置超时(自动滑动,10000);
}
函数加滑块(n){
放映幻灯片(幻灯片索引+=n);
}
功能当前幻灯片(n){
n--;
放映幻灯片(幻灯片索引=n);
}
功能演示幻灯片(n){
var i;
对于(i=0;i=slides.length){
slideIndex=0;
}否则如果(滑动索引<0){
slideIndex=slides.length;
}
幻灯片[slidePrev].style.transform=“translateX(100%)”;
幻灯片[slideIndex].style.transform=“translateX(0)”;
slidePrev=slideIndex;
}
.Slides{
位置:绝对位置;
转化:translateX(-100%);
转变:转变2s;
显示:内联块;
宽度:100%;
身高:100%;
保证金:0;
}
.幻灯片和图像{
宽度:100%;
身高:100%;
对象匹配:覆盖;
}
#asktoggle底座{
高度:自动;
宽度:100%;
位置:绝对位置;
底部:0;
左:0;
右:0;
保证金:0自动;
文本对齐:居中;
}
#询问{
字体大小:0.5em;
光标:指针;
颜色:白色;
背景色:rgba(226208,0,0.6);
边界半径:3px;
填充:10px;
显示:内联块;
过渡:背景色0.5s线性;
}
.主动,
#asktoggle:悬停{
背景色:rgb(226208,0);
}

切换幻灯片放映

Store
var sto=setTimeout()到一个变量,然后
清除超时(sto)

这里有一个例子;
var sto=0;
var isEnabled=true;
函数自动滑动()
{
控制台日志(“调用”);
}
函数toggleMethod()
{
如果(已启用)
{
sto=设置超时(自动滑动,1000);
console.log(“已启用”);
}否则{
清除超时(sto);
控制台日志(“禁用”);
}
isEnabled=!isEnabled;
}

ToggleMe
我想这就是你要找的。我们正在根据“活动”类将函数设置为运行或不运行

信息:代码段在这里不起作用,因为您没有提供完整的代码

函数自动滑动(){
var slidesTimeout=setTimeout(函数(){
自动滑动();
}, 10000);
if(document.getElementById(“asktoggle”).classList.contains('active')){
slideIndex++;
放映幻灯片(幻灯片索引);
滑出;
}否则{
clearTimeout(slidesTimeout);
}
}
函数加滑块(n){
放映幻灯片(幻灯片索引+=n);
}
功能当前幻灯片(n){
n--;
放映幻灯片(幻灯片索引=n);
}
功能演示幻灯片(n){
var i;
对于(i=0;i=slides.length){
slideIndex=0;
}否则如果(滑动索引<0){
slideIndex=slides.length;
}
幻灯片[slidePrev].style.transform=“translateX(100%)”;
幻灯片[slideIndex].style.transform=“translateX(0)”;
slidePrev=slideIndex;
}
document.getElementById(“asktoggle”).addEventListener(“单击”,toggleActive);
函数toggleActive(){
document.getElementById(“asktoggle”).classList.toggle(“活动”);
自动滑动();
}
.Slides{
位置:绝对位置;
转化:translateX(-100%);
转变:转变2s;
显示:内联块;
宽度:100%;
身高:100%;
保证金:0;
}
.幻灯片和图像{
宽度:100%;
身高:100%;
对象匹配:覆盖;
}
#asktoggle底座{
高度:自动;
宽度:100%;
位置:绝对位置;
底部:0;
左:0;
右:0;
保证金:0自动;
文本对齐:居中;
}
#询问{
字体大小:0.5em;
光标:指针;
颜色:白色;
背景色:rgba(226208,0,0.6);
边界半径:3px;
填充:10px;
显示:内联块;
过渡:背景色0.5s线性;
}
.主动,
#asktoggle:悬停{
背景色:rgb(226208,0);
}

切换幻灯片放映

你有没有研究过
clearTimeout()
?@Manav这是个好主意,但我应该如何实现它?你能详细介绍一下我应该如何实现它吗?如果
按钮处于活动状态
sto
else{clearTimout(sto);}
,是否为。我要做一个单独的函数来进行检查吗?请详述你的答案。@James9oo0差不多,是的。我已经更新了我的帖子,为您演示了这方面的通用实现(因为您还没有提供所有代码)。