向选项卡添加自动播放功能
Add autoplay feature to tabs
如何在此代码中添加自动播放功能?例如,每 5 秒更改一次内容。我编写这些代码来创建jquery选项卡,但我无法为其添加自动播放功能。
(function(e) {
e(function() {
e("div.tabs").on("mouseover", "div:not(.current)", function() {
e(this).addClass("current").siblings().removeClass("current").parents("div.tab-block").find("div.box").eq(e(this).index()).fadeIn(150).siblings("div.box").hide()
})
})
})(jQuery)
.box {
display: none;
}
.current {
font-weight: 700;
}
.visible {
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="tab-block">
<div class="tabs">
<div class="tab item current">tab1</div>
<div class="tab item">tab2</div>
<div class="tab item">tab3</div>
<div class="tab item">tab4</div>
</div>
<div class="box big-cover-box visible">Content1</div>
<div class="box big-cover-box">Content2</div>
<div class="box big-cover-box">Content3</div>
<div class="box big-cover-box">Content4</div>
</div>
有人可以帮助我吗?谢谢...
你可以
使用.queue()
,.delay()
,.promise()
,.then()
,.add()
,.eq()
,.removeClass()
,.addClass()
,.end()
.filter()
,递归。
$(function() {
var boxes = $(".box"),
tabs = $(".tab");
function showTabContent() {
return boxes.queue("tabs", $.map(boxes, function(el, curr) {
return function(next) {
boxes.hide() // hide `.box` elements
.add(tabs) // add `.tabs` to current selector
.removeClass("current") // remove `.current` class
.filter(el) // current `.box` element
.fadeIn(150) // fade in current `.box` element
.add(tabs.eq(curr)) // add `.tabs` at index `curr` to selector
.addClass("current") // add `current` `className` to selector
.end() // end current selection at `.boxes` selector
.delay(5000, "content") // set, delay `"content"` queue 5000ms
.dequeue("content") // dequeue `"content"` queue
.promise("content") // at completed promise of `"content"` queue
.then(next) // call next function in `"tabs"` queue
}
}))
.dequeue("tabs") // dequeue `"tabs"` queue
.promise("tabs") // at completed promise of `"tabs"` queue
.then(showTabContent); // call `showTabContent` recursively
}
showTabContent();
});
.box {
display: none;
}
.current {
font-weight: 700;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<div class="tab-block">
<div class="tabs">
<div class="tab item">tab1</div>
<div class="tab item">tab2</div>
<div class="tab item">tab3</div>
<div class="tab item">tab4</div>
</div>
<div class="box big-cover-box">Content1</div>
<div class="box big-cover-box">Content2</div>
<div class="box big-cover-box">Content3</div>
<div class="box big-cover-box">Content4</div>
</div>
相关文章:
- 如何防止网页加载后自动启动功能
- 我可以使此幻灯片图像自动播放吗?
- 如何使jquery自动播放
- jQuery自动完成功能不适用于多个文本输入
- AngularJs中的自动完成功能无法正常工作
- 无法更改源代码的网站的自动填充功能
- 在移动设备中自动播放视频
- 需要帮助自定义幻灯片自动播放
- 为简单的jQuery滑块添加自动播放功能
- 基本 jquery 滑块的自动播放功能
- 具有自动播放和导航功能的 Jquery 滑块
- 自动播放功能未在 JS 中执行
- HTML 5 视频自动播放功能检测
- 试图在Chrome扩展中添加一个功能,以防止scmplayer在页面访问时自动播放
- 功能检测自动播放HTML5音频-移动浏览器上的音频
- HTML5视频自动播放功能不工作在fullpage.js
- 为jquery.roundabout添加自动播放功能
- Jquery自动播放功能只工作一次
- 如何嵌入youtube视频's缩略图,具有点击自动播放功能
- 向选项卡添加自动播放功能