如何修改setInterval代码以初始触发Interval动作
How to Modify setInterval Code to Trigger the Interval Action Initially
我不是一个JavaScript专家,但我发现了一个脚本,这将有助于我完成我所需要的,但我需要一个小的修改。下面是JS代码:
$('html').addClass('js');
$(function() {
var timer = setInterval( showDiv, 4000);
var counter = 0;
function showDiv() {
if (counter ==0) { counter++; return; }
$('#div1, #div2, #div3, #div4')
.stop()
.hide()
.filter( function() { return this.id.match('div' + counter); })
.show('fast');
counter == 4? counter = 0 : counter++;
}
});
,这里是一个HTML代码:
<div id='container'>
<div id='div1' class='display' style="background-color: red;">
div1
</div>
<div id='div2' class='display' style="background-color: green;">
div2
</div>
<div id='div3' class='display' style="background-color: blue;">
div3
</div>
<div id='div4' class='display' style="background-color: yellow;">
div4
</div>
<div>
现在这个脚本所做的是使第一个div在页面打开后10秒显示,然后关闭它并打开下一个。我需要改变的是删除这10秒的时间间隔为第一个div,所以它与页面打开,并留下其他div的时间间隔,因为它是。我希望你能理解我的努力。谢谢你的帮助。
第一次手动调用showdiv()
,在您设置计时器的上方,并将计数器初始化移动到其上方:
...
var counter = 1;
showDiv();
var timer = setInterval( showDiv, 4000);
...
尝试以下解决方案:
showDiv();
var timer = setInterval(showDiv, 4000);
var counter = 1;
function showDiv(){
$('.display').hide();
$('#div'+counter).show();
(counter == 4 ? counter = 1 : counter++)
}
工作示例:http://jsfiddle.net/3cKJV/
你也可以使用jQuery函数animate()或fadeIn()来应用效果到过渡
我建议您的第一个div从一开始就使用css可见。在你的javascript做setInterval作为你最初的编程。将计数器设置为1。在showDiv中提高它。在返回的地方放弃初始检查。对于其余部分,这应该是可行的。如果不行就告诉我。我明天会在我的电脑上写真正的代码。
相关文章:
- 做一个复活节彩蛋,JS动作点击5个按钮
- React Redux无法让减速器拾取动作
- 通过mvc中的ajax动作链接获取关于成功的响应头
- 是否可以使用动作=“;someFunction()"提交表格时
- Ember.js(v2.4.5)组件不是't错过第二个动作
- three.js:three.Vector3.sub()动作怪异
- Angular js$Interval怪异行为-Firefox Chrome
- jquery fancybox+angularJS:fancybox按钮动作问题
- 使用ajax在同一页面中获取控制器动作渲染
- Ember.js-自动使动作成为目标控制器
- 你能用sound.js在播放声音文件后5秒执行一个动作吗
- 角度js中无动作
- 如何在aws S3 javascript SDK中配置interval和max_attempts
- $interval不允许我更新前端
- 计算给定假设动作的未来状态
- 为什么严格的模式会让如此简单的动作变得如此不同
- 接收406(不可接受)用于AJAX动作Rails4
- 停止Recaptcha执行“;动作“;以某种形式
- 正在尝试停止函数上的Interval
- 如何修改setInterval代码以初始触发Interval动作