手风琴效果
外层宽度=4折叠图片宽度+1展开图片宽度
高度固定不变
鼠标经过时,添加遮罩层,当前鼠标所在图片展开,并且遮罩层 看不见,其余图片折叠,有遮罩层
通过在鼠标经过时,给当前 li 添加 类,在 css 中进行样式区别
HTML 代码:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
body,
ul,
li,
p {
margin: 0;
padding: 0
}
ul,
ol {
list-style: none;
}
.home-subjects-v2 {
height: 128px;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border: 1px solid #d3d3d3;
border-color: rgba(0, 0, 0, .12);
overflow: hidden;
width: 938px;
margin-top: 12px;
background: #fff
}
.home-subjects-v2 ul {
width: 1000px
}
.home-subjects-v2 li {
width: 156px;
height: 128px;
float: left;
overflow: hidden;
-webkit-transition: all .1s linear;
-moz-transition: all .1s linear;
-o-transition: all .1s linear;
-ms-transition: all .1s linear;
transition: all .1s linear
}
.home-subjects-v2 li * {
-webkit-transition: all .1s linear;
-moz-transition: all .1s linear;
-o-transition: all .1s linear;
-ms-transition: all .1s linear;
transition: all .1s linear
}
.home-subjects-v2 li a {
width: 156px;
height: 128px;
display: block;
position: relative;
cursor: pointer;
text-decoration: none;
overflow: hidden
}
.home-subjects-v2 li a:hover {
position: absolute
}
.home-subjects-v2 li a:hover .mask {
-ms-filter: "alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
-webkit-transition: opacity .2s ease-in;
-moz-transition: opacity .2s ease-in;
-o-transition: opacity .2s ease-in;
-ms-transition: opacity .2s ease-in;
transition: opacity .2s ease-in
}
.home-subjects-v2 li img {
height: 72px;
width: 117px;
position: absolute;
bottom: 0;
right: -13px
}
.home-subjects-v2 li .line {
height: 128px;
width: 0;
font-size: 0;
border-right: 1px dashed #cacaca;
position: absolute;
right: 0;
top: 4px
}
.home-subjects-v2 li .info {
position: absolute;
top: 0;
left: 0;
width: 136px;
padding: 4px 10px
}
.home-subjects-v2 li .info h3 {
font-size: 14px;
font-weight: 700
}
.home-subjects-v2 li .info p {
color: #868686;
font-size: 12px;
overflow: hidden;
width: 136px;
height: 22px;
line-height: 22px
}
.home-subjects-v2 li .info p.price {
font-size: 14px;
font-style: italic;
color: #fa2a5d;
height: 35px
}
.home-subjects-v2 li .info p.price strong {
font-size: 22px;
font-family: Arial;
padding-right: 2px
}
.home-subjects-v2 li .info p.price i {
font-size: 14px
}
.home-subjects-v2 li .info p.more {
display: none
}
.home-subjects-v2 .mask {
height: 128px;
width: 156px;
display: block;
position: absolute;
top: 0;
left: 0;
background: #000;
-ms-filter: "alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
-webkit-transition: opacity .2s ease-in;
-moz-transition: opacity .2s ease-in;
-o-transition: opacity .2s ease-in;
-ms-transition: opacity .2s ease-in;
transition: opacity .2s ease-in;
_display: none!important
}
.home-subjects-v2 .big {
width: 314px
}
.home-subjects-v2 .big a {
width: 314px
}
.home-subjects-v2 .big img {
width: 195px;
height: 120px;
right: 0;
bottom: 0
}
.home-subjects-v2 .big .info {
width: 294px
}
.home-subjects-v2 .big .info h3 {
font-size: 18px
}
.home-subjects-v2 .big .info p {
font-size: 14px;
width: 166px
}
.home-subjects-v2 .big .info p.price {
font-size: 16px;
padding-top: 7px
}
.home-subjects-v2 .big .info p.price strong {
font-size: 28px
}
.home-subjects-v2 .big .info p.price i {
font-size: 16px
}
.home-subjects-v2 .big .info p.more {
display: block;
font-size: 12px;
color: #ff2a5b
}
.home-subjects-v2 .big .mask {
width: 314px
}
.home-subjects-v2:hover .mask {
-ms-filter: "alpha(Opacity=15)";
filter: alpha(opacity=15);
opacity: .15;
-webkit-transition: opacity .2s ease-in;
-moz-transition: opacity .2s ease-in;
-o-transition: opacity .2s ease-in;
-ms-transition: opacity .2s ease-in;
transition: opacity .2s ease-in
}
</style>
<script type="text/javascript" src="jquery-1.9.1.js"></script>
</head>
<body>
<div id="subject" class="home-subjects-v2">
<ul>
<li>
<a>
<img src="http://gtms01.alicdn.com/tps/i1/T1Lvt3Fv4kXXbA5QAK-195-120.jpg_Q90.jpg">
<div class="info">
<h3 style="color:#f62368">聚美妆</h3>
<p>聚美妆1/2周年庆</p>
<p class="price"><strong>1</strong><i>折起</i></p>
<p class="more">进入专题抢购 > </p>
</div>
<s class="line"></s>
<i class="mask"></i>
</a>
</li>
<li class="big">
<a>
<img src="http://gtms01.alicdn.com/tps/i1/T1qxGLFsVbXXbA5QAK-195-120.jpg_Q90.jpg">
<div class="info">
<h3 style="color:#ff578a">Baby购</h3>
<p>宝宝该换装了,新品抢购</p>
<p class="price"><strong>2.5</strong><i>折起</i></p>
<p class="more">进入专题抢购 > </p>
</div>
<s class="line"></s><i class="mask"></i>
</a>
</li>
<li>
<a>
<img src="http://gtms02.alicdn.com/tps/i2/T1KOSNFxXaXXbA5QAK-195-120.jpg_Q90.jpg">
<div class="info">
<h3 style="color:#6d3fa7">时装团</h3>
<p>时尚春装,清新小潮搭配</p>
<p class="price"><strong>1</strong><i>折起</i></p>
<p class="more">进入专题抢购 > </p>
</div>
<s class="line"></s> <i class="mask"></i>
</a>
</li>
<li>
<a>
<img src="http://gtms04.alicdn.com/tps/i4/T1CCeIFrVbXXbA5QAK-195-120.jpg_Q90.jpg">
<div class="info">
<h3 style="color:#d61939">TV购</h3>
<p>补血养颜 就这么简单</p>
<p class="price"><strong>2.6</strong><i>折起</i></p>
<p class="more">进入专题抢购 > </p>
</div>
<s class="line"></s><i class="mask"></i>
</a>
</li>
<li>
<a>
<img src="http://gtms01.alicdn.com/tps/i1/T1jmKJFyJbXXbA5QAK-195-120.jpg_Q90.jpg">
<div class="info">
<h3 style="color:#6f9400">聚新鲜</h3>
<p>最纯正的泰国香米</p>
<p class="price"><strong>5</strong><i>折起</i></p>
<p class="more">进入专题抢购 > </p>
</div>
<i class="mask"></i>
</a>
</li>
</ul>
</div>
</body>
</html>
JS 代码:
/*function bind(el,eleType,callBack){
if(el.addEventListener){
el.addEventListener(eleType,callBack,false);
}
else if(el.attachEvent){
el.attachEvent('on'+eleType,callBack)
}
}*/
function bind(el, eleType, callBack) {
if(typeof el.addEventListener === "function") {
el.addEventListener(eleType, callBack, false);
} else if(typeof el.attachEvent === "function") {
el.attachEvent('on' + eleType, callBack);
}
}
function mouseoverHandler(e) {
var target = e.target || e.srcElement;
var outer = document.getElementById("subject");
var list = outer.getElementsByTagName("li");
for(var i = 0; i < list.length; i++) {
list[i].className = "";
}
while(target.tagName != "LI" && target.tagName != "BODY") {
target = target.parentNode;
}
target.className = "big";
}
function init() {
var outer = document.getElementById("subject");
var list = outer.getElementsByTagName("li");
for(var i = 0; i < list.length; i++) {
bind(list[i], "mouseover", mouseoverHandler)
}
}
init();

浙公网安备 33010602011771号