Я работаю над меню, как это: http://jsfiddle.net/ud100m3t/1/Detect DIV, когда внутри экрана
У меня есть проблемы с этим, как вы можете видеть, когда вы нажимаете стрелку вправо несколько раз, меню прокручивается в пустом пространстве заполняется с тех пор, как вы закончите свои движения (заданные в переменной maxState, общие элементы меню).
Я хочу, чтобы это было по-другому: когда на экране появляется последний элемент, и вы снова нажимаете на правую кнопку, сбрасывается меню (например, когда вы нажимаете 7 раз, меню прокручивается в противоположном направлении и начинается с другой стороны).
Токовый выход: http://screencast.com/t/MS9H0ByPr Желаемая выход: http://screencast.com/t/1rHbgr6ZEuJ
Это мой пример меню:
<nav id="sub" class="clearfix">
<div id="lefty"><</div>
<div class="container_element">
<div class="inner_container">
<a href="#"><div class="box">Estimate</div></a>
<a href="#"><div class="box">About</div></a>
<a href="#"><div class="box">Customer Information</div></a>
<a href="#"><div class="box">Financing</div></a>
<a href="#"><div class="box">Careers</div></a>
<a href="#"><div class="box">Locate Us</div></a>
<a href="#"><div class="box">Inspiration</div></a>
</div>
</div>
<div id="righty">></div>
</nav>
И это мой Javascript код:
$(function(){
var state = 0;
var maxState = 7;
var winWidth = $(window).width();
$(window).resize(function(){
winWidth = $(window).width();
$('.container_element').width(winWidth-100);
$('.container_element').scrollLeft((winWidth-100)*state);
}).trigger('resize');
$('#lefty').click(function(){
if (state==0) {
state = maxState;
} else {
state--;
}
$('.container_element').animate({scrollLeft:($(".box").width()*state)+'px'}, 800);
});
$('#righty').click(function(){
if (state==maxState) {
state = 0;
} else {
state++;
}
$('.container_element').animate({scrollLeft:($(".box").width()*state)+'px'}, 800);
});
});
(Вы можете увидеть CSS в скрипка)
I попробовал некоторые странные комбо с шириной экрана и шириной ящика, но я только разломал меню. Любая идея или помощь в продолжении этого? Благодаря
Похоже на плохую юзабилити для меня. В качестве пользователя мне не нравится идея щелчка/прокрутки неизвестного количества ссылок, которые я не вижу, чтобы узнать, что то, что я хотел, было не для начала. Покажите мне все варианты на каждом уровне иерархии и позвольте мне развернуть на основе параметров на каждом уровне. – hungerstar
Спасибо @hungerstar, В любом случае это задача, которую я должен выполнить :) Это сложно, но я думаю, что это интересный стиль меню – Genaut