x-mas
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 20
Священный мамон
|
 |
« : 07.02.2012, 19:28:20 » |
|
Сразу прошу прощения, но не знаю как точно назвать. Смысл: при прокрутке сайта с большим количеством информации на 1 странице, меню прикрепляется к верхней точке и всегда на экране, а лучше всего чтобы появлялось новое меню, т.е. этого меню не видно когда экран в стандартном положении, и появляется когда ты опустился вниз. Как-то так. помогите. или скажите как это точно называется =)
|
|
|
|
|
Записан
|
|
|
|
|
tefun
|
 |
« Ответ #1 : 07.02.2012, 19:31:01 » |
|
позиция fixed в ксс копай в этом направлении на форуме ТОЧНО видел писали про это, ты не первый сам я так не делал, поищи гогл про позицию fixed
http://joomlaforum.ru/index.php/topic,177930.0.html
вот принцыпе
|
|
|
|
« Последнее редактирование: 07.02.2012, 19:36:54 от tefun »
|
Записан
|
|
|
|
x-mas
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 20
Священный мамон
|
 |
« Ответ #2 : 07.02.2012, 20:32:47 » |
|
Что-то тыкал-тыкал, не получается  А вот если я создам новый модуль меню, и создам для него суффикс класса модуля, какой у меня должен быть CSS для него? Подскажите пожалуйста.
|
|
|
|
|
Записан
|
|
|
|
|
Efanych
|
 |
« Ответ #3 : 07.02.2012, 20:37:34 » |
|
.moduletable_suffix {pozition:fixed; left:0; top:0;}
|
|
|
|
|
Записан
|
|
|
|
|
Pazys
|
 |
« Ответ #4 : 07.02.2012, 21:20:52 » |
|
.moduletable_suffix {pozition:fixed; left:0; top:0;}
.fixed-menu {pozition:fixed; left:0; top:0; display: block; height: 100px; width: 100%; background:red;} - вставить в ЦСС <div class="fixed-menu"></div> - вставить в индекс.пхп шаблона после <body> Проверить. Править под себя.
|
|
|
|
|
Записан
|
|
|
|
x-mas
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 20
Священный мамон
|
 |
« Ответ #5 : 07.02.2012, 22:55:59 » |
|
Спасибо, все работает, но не совсем так как нужно, как сделать так, чтобы она стояла на своем месте, но когда я начну прокручивать вниз, модуль начнет двигаться только тогда, когда достигнет края браузера и ездит только по позиции "right"?
Если оставить просто position:fixed; то меню заезжает на нижний блок (footer) И еще вопрос, как сделать чтоб меню не было видно в начальном положении? а появлялось только при смещении вниз, допустим, на 200px?
|
|
|
|
« Последнее редактирование: 07.02.2012, 23:01:46 от x-mas »
|
Записан
|
|
|
|
|
danik.html
|
 |
« Ответ #6 : 07.02.2012, 22:59:54 » |
|
Без знания js вам этого не сделать.
|
|
|
|
|
Записан
|
|
|
|
|
Pazys
|
 |
« Ответ #7 : 08.02.2012, 07:17:13 » |
|
http://ruseller.com/lessons.php?rub_id=32&id=999 - вам это надо?
|
|
|
|
|
Записан
|
|
|
|
|
|
x-mas
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 20
Священный мамон
|
 |
« Ответ #9 : 08.02.2012, 08:52:04 » |
|
http://ruseller.com/lessons.php?rub_id=32&id=999 - вам это надо?
да то что надо, спасибо. Это тоже подойдет, спасибо.
|
|
|
|
|
Записан
|
|
|
|
|
|
|
tefun
|
 |
« Ответ #11 : 08.02.2012, 10:16:06 » |
|
увеличить ширину контента , сдвинуть вправо меню и позиция fixed
как здесь http://d-podkolzin.ru/biografija с картинкой, хм...только тогда не прикольно будет...и картинка и меню, не подумал я что то
|
|
|
|
|
Записан
|
|
|
|
x-mas
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 20
Священный мамон
|
 |
« Ответ #12 : 08.02.2012, 11:08:35 » |
|
Видимо 1 вариант: создать новое меню (все в одном) тыкнуть в него суффикс, или забить на него т.к. у меня для биографии отдельный шаблон. В CSS: поменять стандартное описание на: 1 вариант: CSS: #right .modultable { /* размеры фиксированного блока */ height: ..x; width: ..px; position: fixed; /* отступ сверху когда шапка видна полностью */ margin-top: 170px; }
и js: <script type="text/javascript"> jQuery(document).ready(function(){ /* функция кроссбраузерного определения отступа от верха документа к текущей позиции скроллера прокрутки */ function getScrollTop() { var scrOfY = 0; if( typeof( window.pageYOffset ) == "number" ) { //Netscape compliant scrOfY = window.pageYOffset; } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) { //DOM compliant scrOfY = document.body.scrollTop; } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) { //IE6 Strict scrOfY = document.documentElement.scrollTop; } return scrOfY; } /* пересчитываем отступ при прокрутке экрана */ jQuery(window).scroll(function() { fixPaneRefresh(); }); function fixPaneRefresh(){ if (jQuery("#fixedBox").length) { var top = getScrollTop(); if (top < 170) jQuery("#fixedBox").css("margin-top",170-top+"px"); /* 170 - это наш отступ */ else jQuery("#fixedBox").css("margin-top","0"); } }
}); </script>
2 вариант: CSS:
.right { //то что там стоит сейчас, т.е. bg, margin, padding// position:relative; }
.modultable { position:absolute; left:10px; width:240px; height:100px; background: #06C; text-align:center; color:#fff; font-size:14px; }
HTML: <div id="right class="modulmenu">ololol</div> <script src="js/jquery.js"></script> <script src="js/ololo.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('#modultable').stickyfloat({ duration: 400 }); }); </script>
JS (ololo):
$.fn.stickyfloat = function(options, lockBottom) { var $obj = this; var parentPaddingTop = parseInt($obj.parent().css('padding-top')); var startOffset = $obj.parent().offset().top; var opts = $.extend({ startOffset: startOffset, offsetY: parentPaddingTop, duration: 200, lockBottom:true }, options);
$obj.css({ position: 'absolute' });
if(opts.lockBottom){ var bottomPos = $obj.parent().height() - $obj.height() + parentPaddingTop; if( bottomPos < 0 ) bottomPos = 0; }
$(window).scroll(function () { $obj.stop();
var pastStartOffset = $(document).scrollTop() > opts.startOffset; var objFartherThanTopPos = $obj.offset().top > startOffset; var objBiggerThanWindow = $obj.outerHeight() < $(window).height();
if( (pastStartOffset || objFartherThanTopPos) && objBiggerThanWindow ){ var newpos = ($(document).scrollTop() -startOffset + opts.offsetY ); if ( newpos > bottomPos ) newpos = bottomPos; if ( $(document).scrollTop() < opts.startOffset ) newpos = parentPaddingTop;
$obj.animate({ top: newpos }, opts.duration ); } }); };
|
|
|
|
« Последнее редактирование: 08.02.2012, 11:43:19 от x-mas »
|
Записан
|
|
|
|
x-mas
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 20
Священный мамон
|
 |
« Ответ #13 : 08.02.2012, 18:52:04 » |
|
Что-то ничего не получается, прошу помощи у тех кто знает как сделать и у кого есть время. http://zalil.ru/32667956 - шаблон Я уже готов полностью блок (позицию) right сделать таким образом. Хотя бы скажите куда вписывать код, а там уже сам. Заранее благодарен.
|
|
|
|
|
Записан
|
|
|
|
|