如何暂停文本 Javascript / var textarray
How to pause Text Javascript / var textarray?
我正在尝试通过单击页面来暂停和恢复javascript。
我有文本滚动,通过淡入淡出来更改。
我在网上找到的解决方案是如何暂停选框,但我认为该解决方案不适用,因为我的代码不使用选框标签。
同样对于我的文本滚动,我不显示文本,而是显示图像。
我想知道如何通过单击页面来暂停和恢复图像?
<div id="menu">
<button id="start-stop">Start/stop</button>
</div>
<div id="random_text"></div>
</div>
<script type="text/javascript">
$(window).load(function() {
$(window).resize(function() {
var windowHeight = $(window).height();
var containerHeight = $(".container").height();
$(".container").css("top", (windowHeight / 2 - containerHeight * 0.7) + "px");
});
var textarray = [
"<img class='"tall'" src='"1.png'" alt='"1'"></img><span class='"by'">Example</span>" ,
"<img class='"wide'" src='"2.png'" alt='"2'"></img><span class='"by'">Example</span>",
"<img class='"wide'" src='"3.png'" alt='"3'"></img><span class='"by'">Example</span>",
"<img class='"wide'" src='"4.png'" alt='"4'"></img><span class='"by'">Example</span>",
];
var firstTime = true;
function RndText() {
var rannum = Math.floor(Math.random() * textarray.length);
if (firstTime) {
$('#random_text').fadeIn('fast', function() {
$(this).html(textarray[rannum]).fadeOut('fast');
});
firstTime = false;
}
$('#random_text').fadeOut('fast', function() {
$(this).html(textarray[rannum]).fadeIn('fast');
});
var windowHeight = $(window).height();
var containerHeight = $(".container").height();
// $(".container").css("top", (windowHeight / 2 - containerHeight * 0.7) + "px");
}
$(function() {
// Call the random function when the DOM is ready:
RndText();
});
var inter = setInterval(function() {
intervalRunning = true;
RndText();
}, 3000);
});
$(document).on('click', '#start-stop', function(){
if (intervalRunning) {
intervalRunning = false;
clearInterval(inter);
} else {
inter = setInterval(function() {
intervalRunning = true;
RndText();
}, 3000);
}
})
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
</script>
我创建了一个jsbin来展示一个基本的解决方案。
由于您使用的是jQuery,因此我将更改所有内容的结构。 我会将代码包装在 $(document).ready
中,以便在 DOM 准备就绪后触发。
在开始时创建一个bool
来跟踪间隔是否正在运行:
var running = false;
为间隔创建一个处理程序,以便根据需要打开或关闭:
var handleInterval = function(){
if (running) {
running = false;
clearInterval(intObj);
} else {
intObj = setInterval(function(){
running = true;
RndText();
}, 1500);
}
};
为按钮设置处理程序:
$(document).on("click", "#pause_me", function(){
handleInterval();
});
通过调用 handleInterval 来启动整个事情:
handleInterval();
相关文章:
- 如何使用javascript var引用Mongo DB集合's字段
- php中的javascript var太长
- 如何让这个javascript var在HTML页面上工作
- Javascript:var%20C与常规var相比意味着什么
- 可以将单数 Javascript var 视为数组
- 从 JSON 制作 javascript var(数组)
- Javascript var 不会改变
- Joomla javascript var with HTML code
- 如何将所有动态id的arrey值获取到javascript VAR CID,以便在sql中找到匹配项
- 带有右胡萝卜的javascript var给出了奇怪的结果
- 最快的PHP等效javascript `var a=var1||var2||var3;`表示
- JavaScript: var {left, ...props} = this.props;
- 如何从html元素中获取javascript var数据?(使用canvasjs)
- JavaScript var 未正确传递给支持 Bean
- JavaScript var getElementById if 语句不起作用
- Javascript var === 2 && console.log('true').
- 在刀片语法上传递 javascript var
- JavaScript var 在等待 jQuery 完成动画处理时被覆盖
- 将 JavaScript var 传递给 php 函数
- JavaScript var 值,重定向 URL 为空