在之前的堆栈溢出的帮助下,我在这里得到了关于如何制作轮播/手风琴的答案:
http://www.jsfiddle.net/Mottie/UdUus/117/
平稳地打开/关闭,而不会整个移动。关键是很少使用的 step 属性。
但是,我正在尝试研究如何调整此脚本,以便在加载时,所有项目的宽度相同,然后在悬停时根据需要展开/收缩,然后在鼠标离开时折叠回其原始状态。
我试过但没有用。有人有什么想法吗?
一个。
在之前的堆栈溢出的帮助下,我在这里得到了关于如何制作轮播/手风琴的答案:
http://www.jsfiddle.net/Mottie/UdUus/117/
平稳地打开/关闭,而不会整个移动。关键是很少使用的 step 属性。
但是,我正在尝试研究如何调整此脚本,以便在加载时,所有项目的宽度相同,然后在悬停时根据需要展开/收缩,然后在鼠标离开时折叠回其原始状态。
我试过但没有用。有人有什么想法吗?
一个。
更新了你的jsfiddle
HTML
<div id="promo">
<ul>
<li class="promo1">d</li>
<li class="promo2">d</li>
<li class="promo3">d</li>
<li class="promo4">d</li>
<li class="promo5">d</li>
</ul>
</div>
CSS:
#promo { width:404x; height:200px; overflow:hidden; }
#promo ul { width:105%; }
#promo li { float:left; height:200px; margin-right:1px; width:50px; }
#promo .promo1 { background:red;}
#promo .promo2 { background:green; }
#promo .promo3 { background:red; }
#promo .promo4 { background:green; }
#promo .promo5 { background:red; margin-right:0px; }
JS:
var panels = $('#promo li');
panels.hoverIntent(
function() {
if (!$(this).is('.expanded')) {
$(this).animate({
width: 200
}, {
step: function(width, ani) {
var w = Math.floor(width);
$('.expanded').css('width', (250 - w) + 'px');
$(ani.elem).css('width', (200 - w) + 'px');
},
duration: 500,
complete: function() {
panels.removeClass('expanded');
$(this).addClass('expanded');
}
});
}
}, function() {});
$("#promo").hover(function() {}, function() {
$("li.expanded", this).animate({
width: 50,
duration: 500
}).removeClass("expanded");
});