没性能的啊,就是循环遍历操作DOM
HTML----code:
<body>
<div class="slide-wrap">
<div class="slide">
<ul class="slide-list">
<li class="slide-item active">
<img src="HOME/images/1.jpg">
</li>
<li class="slide-item">
<img src="HOME/images/2.jpg">
</li>
<li class="slide-item">
<img src="HOME/images/3.jpg">
</li>
</ul>
</div>
<!--缩略图-->
<div class="thumbs">
<ul class="thumbs-list">
<li class="thumbs-item cur">
<img src="HOME/images/1.jpg">
</li>
<li class="thumbs-item">
<img src="HOME/images/2.jpg">
</li>
<li class="thumbs-item">
<img src="HOME/images/3.jpg">
</li>
</ul>
</div>
</div>
<script type="text/javascript" src="HOME/js/index2.js"></script>
<script type="text/javascript">
var slider = new Slider({
slideItem: 'slide-item',
thumbItem: 'thumbs-item'
});
</script>
</body>
CSS----code:
body {
margin: 0px;
padding: 0px;
}
ul {
list-style: none;
padding: 0px;
margin: 0px;
}
a {
text-decoration: none;
}
img {
width: 100%;
height: 100%;
}
.slide-wrap {
width: 720px;
height: 360px;
margin: 50px auto;
border: 1px solid #9B410E;
}
/*展示缩略图样式*/
.slide {
width: 600px;
height: 100%;
float: left;
position: relative;
}
.slide .slide-item {
position: absolute;
top: 0;
left: 0;
height: 360px;
display: none;
}
.slide .slide-item.active {
display: block;
}
/*缩略图样式*/
.thumbs {
width: 120px;
float: left;
}
.thumbs-item {
height: 120px;
opacity: .5;
}
.cur {
opacity: 1;
}
JavaScript---code:
;(function () {
var Slider = function (opt) {
this.slideItems = document.getElementsByClassName(opt.slideItem);
this.thumbItems = document.getElementsByClassName(opt.thumbItem);
this.bindClick();
}
Slider.prototype = {
bindClick: function () {
var slideItem = this.slideItems,
thumbItem = this.thumbItems;
for (var i = 0; i < thumbItem.length; i++) {
(function (j) {
thumbItem[j].onclick = function () {
for (var k = 0; k < thumbItem.length; k++) {
thumbItem[k].className = "thumbs-item";
slideItem[k].className = "slide-item";
}
thumbItem[j].className += " cur"
slideItem[j].className += " active";
}
}(i));
}
}
}
window.Slider = Slider;
}());