我正在为我的作品集制作一个滑块,该滑块将显示部分作品,然后在展开时显示其余部分。你可以在这里看到它的预览:http: //staging.pautlerdesign.com/portfolio/index.php。我正在使用以下代码来获得预期的效果:
if ($(window).width()>768) {
var sliderHeight = "180px";
$('.slider').each(function () {
var current = $(this);
var height = $(current).height();
current.attr("box_h", height);
});
$('.slider').css("height", sliderHeight);
$(".slider_menu").html('<a href="javascript:void(0);" class="expand"><i class="ss-plus"></i></a>');
$(".slider_menu a").click(function() {
openSlider($(this).parent().prev("ul.slider"), $(this).parent());
return false;
});
}
function openSlider(obj, slideMenu) {
var open_height = $(obj).attr("box_h") + "px";
$(obj).animate({
"height": open_height
}, {
duration: "slow"
});
$(slideMenu).html('<a href="javascript:void(0);" class="expand"><i class="ss-hyphen"></i></a>');
$(slideMenu).children("a").click(function() {
closeSlider(obj, slideMenu);
});
return false;
}
function closeSlider(obj, slideMenu) {
$(obj).animate({
"height": sliderHeight
}, {
duration: "slow"
});
$(slideMenu).html('<a href="javascript:void(0);" class="expand"><i class="ss-plus"></i></a>');
$(slideMenu).children("a").click(function() {
openSlider(obj, slideMenu);
});
return false;
}
由于某种原因,顶部的部分在将“box_h”分配给 ul 时无法完全正常工作。它适用于前几项,但当你到达底部时,它会应用 22、44 或 66 的高度。我不知道为什么它会适用于某些部分,但不适用于其他。有任何想法吗?我认为这是一件很小的事情,但我一生都无法弄清楚。