Jump to content
  • 0

Не получается сделать меню


chiffenok
 Share

Question

Добрый вечер! мне нужно сделать меню типа как тут(сверху слева). Пункты которые не вмещаются в ширину меню помещаются в саб меню "еще". Дизайн сайта резиновый, соответственно ширина меню может меняться и окна тоже. Это можно сделать на Jquery

В моем конкретном случае меню выглядит так

2277955m.jpg

расширяется от 1000px до 1280px

Навряд ли кто-то захочет делать, поэтому прошу хотя бы подсказать направление в котором нужно двигаться..? Может кто нибудь может выципить скрипт отвечающий за меню, на сайте который я отправила. Он бы послужил мне примером

Я начала делать с ресайза окна , но скрипт не работает


$(window).resize(function(){
var widthsCat = 0;
$(".b-categories .b-category__item").each(function(indx, element){
var widthECat = $(element).outerWidth(true);
widthsCat = widthsCat + widthECat;
});
var widthCatMenu = $(".b-categories").width();
while (widthsCat>widthCatMenu) {
var widthLast = $(".b-category__item").last().width();
widthsCat = widthsCat - widthLast ;
$(".b-category__item").last().appendTo(".b-another-menu");
var widthCatMenu = $(".b-categories").width();
}
});

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

учите javascript

в процессе и учишься, решая разные задачи, но это оказалась сложной для меня, но а как еще? кто бы мне платил деньги и дал время за то что я сижу целыми днями изучаю javascript, так то я верстальщик

не хотите помогать лучше не пишите вообще ничего, ваши едкие комментарии не помощь а просто флуд

  • Like 1
Link to comment
Share on other sites

  • 0
кто бы мне платил деньги и дал время

ах уж простите, мне тоже никто не платит, за то, что я помогаю / пытаюсь помочь таким как Вы

в процессе и учишься

Вы начали не с того. Хотите участвовать в гонках? Научитесь водить машину. Хотите понимать код? Выучите язык, на котором он написан.

ваши едкие комментарии не помощь а просто флуд

ну уж извините, лестью не владею ;)

p.s.: можете заминусовть и этот пост, на карму мне пофиг :)

Link to comment
Share on other sites

  • 0

к чему это все? помощь на форуме дело добровольное вас никто не заставляет помогать насильно, у вас нету времени помочь но тем не менее у вас есть время оставлять длинный бессмысленный пост

Link to comment
Share on other sites

  • 0
<!DOCTYPE HTML>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<style>
.yellow { background: yellow }
.lime { background: lime }
.silver { background: silver }
</style>
<script>
$(function() {

var test = $( '#test' );
var box = $( '#box' );

$( window ).on( 'ready resize', function() {
$( 'span', box ).appendTo( test );

var maxWidth = $( test ).width();
var width = 0;

$( 'span', test ).each( function( index, elem ) {
width += $( elem ).width();

if ( maxWidth < width ) {
$( box ).append( elem );
}
});
});

});
</script>


</head>
<body>

<div id="test" style="background: olive;">
<span class="yellow"> Чебурашка - </span>
<span class="silver"> ушастое </span>
<span class="lime"> волосатое </span>
<span class="yellow"> чудовище, </span>
<span class="silver"> бомжующее </span>
<span class="lime"> в </span>
<span class="yellow"> телефонной </span>
<span class="silver"> будке. </span>
<span class="yellow"> Чебурашка - </span>
<span class="silver"> ушастое </span>
<span class="lime"> волосатое </span>
<span class="yellow"> чудовище, </span>
<span class="silver"> бомжующее </span>
<span class="lime"> в </span>
<span class="yellow"> телефонной </span>
<span class="silver"> будке. </span>
</div>

<br>
<br>

<div id="box" style="background: magenta;"></div>

</body>
</html>

Link to comment
Share on other sites

  • 0

на реальном примере не срабатывает при загрузке окна http://jsfiddle.net/43R5v/ только при ресайзе

сделала так http://jsfiddle.net/43R5v/1/ не знаю на скоко это правильно но работает

Edited by chiffenok
Link to comment
Share on other sites

  • 0
на реальном примере не срабатывает при загрузке

Т.е. мой пример нереальный? Так что ли? :)

Opera, Mozilla, IE8 - работает.

Дорогая, я написал за вас код, практически на 100%, осталось только прикрутить и деньги получить ;)

Не получается? См. этот пост.

Попробуй так:

$(function() {

var test = $( '#test' );
var box = $( '#box' );

$( window ).resize( handler );
$( document ).ready( handler );

function handler() {
$( 'span', box ).appendTo( test );

var maxWidth = $( test ).width();
var width = 0;

$( 'span', test ).each( function( index, elem ) {
width += $( elem ).width();

if ( maxWidth < width ) {
$( box ).append( elem );
}
});
}

});

Edited by nerv
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy