在看了又看之后,我决定试一试,从头开始写……我让它工作了!:)
这有点 hacky,因为我对 jQuery 很陌生,所以如果有人想改进它,请随意。
如果您有任何问题或改进方法,请告诉我。
这是jQuery:
jQuery(document).ready(function() {
var content_height = jQuery(".column-right").height(); // Get height of main content
jQuery(".subnav").height(content_height); // Apply height to menu div
jQuery('a.forward').next().hide(); // Hide all children from the menu
jQuery('a.forward').click(function(e) { // On click .forward
e.preventDefault();
// Clone next child, append to container, position absolute and animate left
jQuery(this).next().clone(true, true).appendTo(".subnav").css({position: "absolute", left:"191px", top:"0", display:"block"}).animate({
left:"0"
}, 300);
// Animate current menu out sight
jQuery(this).closest("ul").animate({
left:"-191px",
}, 300);
return false
});
jQuery('a.back').click(function(e) { // On click .back
e.preventDefault();
// Animate the previous hidden element so it comes back
jQuery(this).closest("ul").prev().animate({
left:"0",
}, 300);
// Animate current menu out of sight to the right
// and remove after animation is completed
jQuery(this).closest("ul").animate({
left:"191px",
}, 300, "linear",function(){jQuery(this).remove()});
return false;
});
});
这里是一些 CSS 和 HTML 的小提琴:http:
//jsfiddle.net/Mh35b/
干杯