Добавьте position:relative
к элементу, который нуждается в переполнении:
в вашем примере это элемент .placeholder
.placeholder {
position:relative;
width:640px;
height:200px;
overflow: hidden;
}
P.S: ВСЕГДА устанавливайте 'позицию' для переполненных элементов!
EDIT
Что касается проблемы IE, вы должны одновременно обрабатывать позиции left
и margin-left
:
(нажмите на save-download и протестируйте в IE)
(П.С .: Вам все равно придется исправлять CSS ваших тегов a
. Но сейчас самое сложное :))
function next() {
$menu = $('#items');
$first = $menu.find("li").first();
unbindClick();
var firstW = $first.width(); // added
if ($.browser.msie && $.browser.version < 8.0) { // added
$first.animate({left: -firstW},600);
}
$first.animate({
marginLeft : -firstW // changed
}, {
duration: 600,
queue: false,
complete: function() {
$menu.append($first);
$first.css({marginLeft:0, left: 0}); // added left: 0
bindClick();
}
});
}
function prev() {
$menu = $('#items');
$first = $menu.find("li").first();
$last = $menu.find("li").last();
//$menu.prepend($last); // removed
var lastW = $last.width();
if ($.browser.msie && $.browser.version < 8.0) { // added
$last.css({left: -lastW});
}
$last.css({marginLeft: -lastW});
$menu.prepend($last);
unbindClick();
$last.animate({
marginLeft: 0,
left:0 // added
}, {
duration: 600,
queue: false,
complete: bindClick
});
}