html
<div id="banner-switch">
<!-- 切换内容 -->
<div class="notice-content">
<div class="notice-item content-active"><a href="./schoolReport_dl.jsp"><img src="http://www.tfjyzx.com:8089/images/notice/01_ignite.jpg" alt="点亮校园活动" /></a></div>
<div class="notice-item"><a href="./act-upload.jsp?id=1"><img src="http://www.tfjyzx.com:8089/images/notice/02_writer.jpg" alt="未来小作家征文活动" /></a></div>
<div class="notice-item"><a href="javascript:;"><img src="http://www.tfjyzx.com:8089/images/notice/03_daren.jpg" alt="校园小达人答题活动" /></a></div>
<div class="notice-item"><a href="./local_list.jsp?id=2&title=%E6%B4%BB%E5%8A%A8%E6%B5%8B%E8%AF%95"><img src="http://www.tfjyzx.com:8089/images/notice/04_guoxue.jpg" alt="商丘市国学经典诵读大赛" /></a></div>
<div class="notice-item"><a href="javascript:;"><img src="http://www.tfjyzx.com:8089/images/notice/05_shangqiu.jpg" alt="商丘市第一中学" /></a></div>
</div>
<!-- 切换标签 -->
<div class="notice-title">
<ul>
<li class="title-item title-active"><a href="./schoolReport_dl.jsp">点亮校园活动</a></li>
<li class="title-item"><a href="./act-upload.jsp?id=1">未来小作家征文活动</a></li>
<li class="title-item"><a href="javascript:;">校园小达人答题活动</a></li>
<li class="title-item"><a href="./local_list.jsp?id=2&title=%E6%B4%BB%E5%8A%A8%E6%B5%8B%E8%AF%95">商丘市国学经典诵读大赛</a></li>
<li class="title-item"><a href="./page.jsp?school=商丘市第一中学">商丘市第一中学</a></li>
</ul>
</div>
</div>
css:
/* banner switch */
#banner-switch {
width: 1200px;
height: 320px;
}
#banner-switch > .notice-title {
float: left;
width: 285px;
height: 295px;
background-color: #112F49;
padding: 10px 20px;
}
#banner-switch > .notice-title li {
height: 50px;
line-height: 50px;
margin-top: 5px;
border-bottom: 1px solid #ccc;
}
#banner-switch > .notice-title li:last-child {
border: none;
}
#banner-switch a {
color: #a2a2a2;
font-size: 16px;
}
#banner-switch .title-item.title-active > a {
color: #ffffff;
}
#banner-switch > .notice-content {
position: relative;
float: left;
}
#banner-switch > .notice-content > .notice-item img {
width: 900px;
outline: none;
-webkit-transition: all .5s;
-moz-transition: all .5s;
-ms-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
}
#banner-switch > .notice-content > .notice-item {
width: 900px;
height: 320px;
display: none;
}
#banner-switch > .notice-content > .notice-item.content-active {
display: block;
}
javascript:
function trigger(dom, event) {
var myEvent = document.createEvent('Event')
myEvent.initEvent(event, true, true);
dom.dispatchEvent(myEvent);
}
function bannerSwitchTabs() {
var bs = document.getElementById("banner-switch");
var tabs = bs.querySelectorAll(".title-item"),
contents = bs.querySelectorAll(".notice-item");
var ts = "title-active",
cs = "content-active";
var last = 0; // 上一次选中元素的index
tabs.forEach(function (tab, i) {
(function (i) {
tab.addEventListener("mouseover", function () {
tabs[last].classList.remove(ts);
contents[last].classList.remove(cs);
last = i;
this.classList.add(ts);
contents[i].classList.add(cs);
});
})(i);
});
var carousel = (function (tabs) {
var timer = 0, index = 0, size = tabs.length;
return {
isPlaying: function() {
return timer;
},
play: function () {
trigger(tabs[index], "mouseover");
index = (index + 1) % size;
var that = this;
timer = setTimeout(function () {
that.play();
}, 5000);
},
cancel: function () {
clearTimeout(timer);
timer = 0;
}
}
})(tabs);
carousel.play();
bs.onmouseover = function() {
// console.log(carousel.isPlaying());
carousel.cancel();
}
bs.onmouseleave = function() {
// console.log(carousel.isPlaying());
carousel.play();
}
}
bannerSwitchTabs();