powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Навигация по сайту со сменой фона. Проблема!!!
12 сообщений из 12, страница 1 из 1
Навигация по сайту со сменой фона. Проблема!!!
    #37830140
boichukvd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет форумчанам! У меня трабл. Ожидаю на вашу помощь! Делаю меню на локалхосте под жумлу. В html все работает, а когда переношу в index.php моего шаблона, то картинки перестают двигаться. Вот пример меню: ...
Вот мой код:
Код в index.php:

<div id="menuWrapper" class="menuWrapper bg1">
<ul class="menu" id="menu">
<li class="bg1" style="background-position:0 0;">
<a id="bg1" href="#">Экипаж</a>
<ul class="sub1" style="background-position:0 0;">
<li><a href="#">Подменю 1</a></li>
<li><a href="#">Подменю 2</a></li>
<li><a href="#">Подменю 3</a></li>
</ul>
</li>
<li class="bg1" style="background-position:-199px 0px;">
<a id="bg2" href="#">Вооружение</a>
<ul class="sub2" style="background-position:-199px 0;">
<li><a href="#">Подменю 1</a></li>
<li><a href="#">Подменю 2</a></li>
<li><a href="#">Подменю 3</a></li>
</ul>
</li>
<li class="bg1" style="background-position:-398px 0px;">
<a id="bg3" href="#">Связь</a>
<ul class="sub3" style="background-position:-398px 0;">
<li><a href="#">Подменю 1</a></li>
<li><a href="#">Подменю 2</a></li>
<li><a href="#">Подменю 3</a></li>
</ul>
</li>
<li class="last bg1" style="background-position:-597px 0px;">
<a id="bg4" href="#">Здоровье</a>
<ul class="sub3" style="background-position:-597px 0;">
<li><a href="#">Подменю 1</a></li>
<li><a href="#">Подменю 2</a></li>
<li><a href="#">Подменю 3</a></li>
</ul>
</li>

</ul>
</div>
<!-- JavaScript -->
<script type="text/javascript" src="http://www.stratics.aop.ua/GM/src/demo/jquery-1.5.2.js"></script>

<script src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/jquery.bgpos.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery.bgpos.js"></script>
<script type="text/javascript">
$(function() {
/* позиция элемента <li>, который выводится в текущий момент */
var current = 0;

var loaded = 0;
for(var i = 1; i <5; ++i)
$('<img />').load(function(){
++loaded;
if(loaded == 3){
$('#bg1,#bg2,#bg3,#bg4').mouseover(function(e){

var $this = $(this);
/* если курсор мыши находится над текущим элементом, то ничего делать не надо */
if($this.parent().index() == current)
return;

/* item - это bg1 или bg2 или bg3, в зависимости от того, где находится курсор мыши */
var item = e.target.id;

/*Это слой подменю. Будем скрывать текущий слой,
если курсор поместили над первым элементом <li> или
сделан переход с последнего элемента,
затем слой должен сдвинуться слева->направо,
или справа->налево в другом случае */
if(item == 'bg1' || current == 2)
$('#menu .sub'+parseInt(current+1)).stop().animate({backgroundPosition:"(-199px 0)"},597,function(){
$(this).find('li').hide();
});
else
$('#menu .sub'+parseInt(current+1)).stop().animate({backgroundPosition:"(199px 0)"},597,function(){
$(this).find('li').hide();
});

if(item == 'bg1' || current == 3){
/* если курсор мыши поместили над первым элементом <li> или произвели перевод с последнего элемента,
то изображение должно сдвинуться слева->направо */
$('#menu > li').animate({backgroundPosition:"(-800px 0)"},0).removeClass('bg1 bg2 bg3 bg4').addClass(item);
move(1,item);
}
else{
/* в другом случае изображение должно переместиться справа->налево */
$('#menu > li').animate({backgroundPosition:"(800px 0)"},0).removeClass('bg1 bg2 bg3 bg4').addClass(item);
move(0,item);
}
/*При переходе от первого элемента меню к последнему (без активации среднего элемента), или при переходе от последнего к первому, средний слой меню тоже должен проскальзывать либо слева->направо, либо справа->налево */
if(current == 2 && item == 'bg1'){
$('#menu .sub'+parseInt(current)).stop().animate({backgroundPosition:"(-199px 0)"},597);
}
if(current == 0 && item == 'bg4'){
$('#menu .sub'+parseInt(current+2)).stop().animate({backgroundPosition:"(199px 0)"},597);
}
/* Изменяем текущий элемент */
current = $this.parent().index();

/* Теперь появляется слой текущего элемента */

$('#menu .sub'+parseInt(current+1)).stop().animate({backgroundPosition:"(0 0)"},597,function(){
$(this).find('li').fadeIn();
});
});
}
}).attr('src', 'images/'+i+'.jpg');


/*
dir:1 - перемещение слева->направо
dir:0 - перемещение справа->налево
*/
function move(dir,item){
if(dir){
$('#bg1').parent().stop().animate({backgroundPosition:"(0 0)"},199);
$('#bg2').parent().stop().animate({backgroundPosition:"(-199px 0)"},398);
$('#bg3').parent().stop().animate({backgroundPosition:"(-398px 0)"},597);
$('#bg4').parent().stop().animate({backgroundPosition:"(-597px 0)"},797,function(){
$('#menuWrapper').removeClass('bg1 bg2 bg3 bg4').addClass(item);
});
}
else{
$('#bg1').parent().stop().animate({backgroundPosition:"(0 0)"},797,function(){
$('#menuWrapper').removeClass('bg1 bg2 bg3 bg4').addClass(item);
});
$('#bg2').parent().stop().animate({backgroundPosition:"(-199px 0)"},597);
$('#bg3').parent().stop().animate({backgroundPosition:"(-398px 0)"},398);
$('#bg4').parent().stop().animate({backgroundPosition:"(-597px 0)"},199);
}
}
});
</script>

Код JS:
/**
* @author Alexander Farkas
* v. 1.21
*/


(function($) {
if(!document.defaultView || !document.defaultView.getComputedStyle){ // IE6-IE8
var oldCurCSS = jQuery.curCSS;
jQuery.curCSS = function(elem, name, force){
if(name === 'background-position'){
name = 'backgroundPosition';
}
if(name !== 'backgroundPosition' || !elem.currentStyle || elem.currentStyle[ name ]){
return oldCurCSS.apply(this, arguments);
}
var style = elem.style;
if ( !force && style && style[ name ] ){
return style[ name ];
}
return oldCurCSS(elem, 'backgroundPositionX', force) +' '+ oldCurCSS(elem, 'backgroundPositionY', force);
};
}

var oldAnim = $.fn.animate;
$.fn.animate = function(prop){
if('background-position' in prop){
prop.backgroundPosition = prop['background-position'];
delete prop['background-position'];
}
if('backgroundPosition' in prop){
prop.backgroundPosition = '('+ prop.backgroundPosition;
}
return oldAnim.apply(this, arguments);
};

function toArray(strg){
strg = strg.replace(/left|top/g,'0px');
strg = strg.replace(/right|bottom/g,'100%');
strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
}

$.fx.step. backgroundPosition = function(fx) {
if (!fx.bgPosReady) {
var start = $.curCSS(fx.elem,'backgroundPosition');

if(!start){
start = '0px 0px';
}

start = toArray(start);

fx.start = [start[0],start[2]];

var end = toArray(fx.options.curAnim.backgroundPosition);
fx.end = [end[0],end[2]];

fx.unit = [end[1],end[3]];
fx.bgPosReady = true;
}
//return;
var nowPosX = [];
nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];
fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];

};
})(jQuery);

Код CSS:
.menuWrapper{
font-family: "Trebuchet MS", Arial, sans-serif;
font-size: 15px;
font-style: normal;
font-weight: normal;
text-transform:uppercase;
letter-spacing: normal;
line-height: 1.45em;
position:relative;
margin:20px auto;
height:542px;
width:800px;
background-position:0 0;
background-repeat:no-repeat;
background-color:transparent;
}
ul.menu{
list-style:none;
width:800px;
}
ul.menu > li{
float:left;
width:199px;
height:542px;
border-right:1px solid #777;
background-repeat:no-repeat;
background-color:transparent;
}
ul.menu > li.last{
border:none;
}
.bg1{
background-image: url(../images/1.jpg);
}
.bg2{
background-image: url(../images/2.jpg);
}
.bg3{
background-image: url(../images/3.jpg);
}
.bg4{
background-image: url(../images/4.jpg);
}
ul.menu > li > a{
float:left;
width:199px;
height:50px;
margin-top:450px;
text-align:center;
line-height:50px;
color:#ddd;
background-color:#333;
letter-spacing:1px;
cursor:pointer;
text-decoration:none;
text-shadow:0px 0px 1px #fff;
}
ul.menu > li ul{
list-style:none;
float:left;
margin-top:-180px;
width:100%;
height:110px;
padding-top:20px;
background-repeat:no-repeat;
background-color:transparent;
}
ul.menu > li ul li{
display:none;
}
ul.menu > li ul.sub1{
background-image:url(../images/bg1sub.png);
}
ul.menu > li ul.sub2{
background-image:url(../images/bg2sub.png);
}
ul.menu > li ul.sub3{
background-image:url(../images/bg3sub.png);
}
ul.menu > li ul.sub4{
background-image:url(../images/bg4sub.png);
}
ul.menu > li ul li a{
color:#fff;
text-decoration:none;
line-height:30px;
margin-left:20px;
text-shadow:1px 1px 1px #444;
font-size:11px;
}
ul.menu > li ul.sub1 li{
display:block;
}
ul.menu > li ul li a:hover{
border-bottom:1px dotted #fff;
}
...
Рейтинг: 0 / 0
Навигация по сайту со сменой фона. Проблема!!!
    #37830300
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boichukvdВ html все работает, а когда переношу в index.php моего шаблона, то картинки перестают двигатьсяно ведь index.php в результате формирует html и отдает его клиенту?
вот и сравните Ваш работающий html с тем, который сгенерирован посредством index.php

(сгенерированный html Вы можете увидеть нажав на странице правую кнопку мыши и выбрав пункт "View Page Source" или что там в Вашем браузере)
...
Рейтинг: 0 / 0
Навигация по сайту со сменой фона. Проблема!!!
    #37832485
boichukvd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паганель, скопировал сгенерированный html код в php, не помогло! Возможно есть какая-то фишка в джумле при переводе с php в html? Вот пример меню: Навигация по сайту со сменой фона
...
Рейтинг: 0 / 0
Навигация по сайту со сменой фона. Проблема!!!
    #37832587
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возьмите соответствующие инструменты и поглядите, происходят ли ошибки в JS, для начала.
...
Рейтинг: 0 / 0
Навигация по сайту со сменой фона. Проблема!!!
    #37832757
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boichukvdПаганель, скопировал сгенерированный html код в php, не помогло!я не говорил копировать
я говорил сравнить
...
Рейтинг: 0 / 0
Навигация по сайту со сменой фона. Проблема!!!
    #37833597
boichukvd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паганель, там только путь поменялся... я решил попробовать скопировать... то же самое(
...
Рейтинг: 0 / 0
Навигация по сайту со сменой фона. Проблема!!!
    #37833880
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boichukvdПаганель, там только путь поменялся... я решил попробовать скопировать... то же самое(Есть два html, идентичны байт в байт, но первый получается из статического *.html файла, а другой генерируется из php

Один из них работает, а другой - нет
Я правильно понял?
...
Рейтинг: 0 / 0
Навигация по сайту со сменой фона. Проблема!!!
    #37833905
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boichukvd,
ПравилаРекомендуется:
Для повышения удобочитаемости сообщений - пользоваться специальными кодами для выделения слов (b, u, i, color) (но не злоупотреблять ими) и тегом форматирования исходных кодов src .
...
Рейтинг: 0 / 0
Навигация по сайту со сменой фона. Проблема!!!
    #37833924
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boichukvd,

Предположу, что яваскрипт срубается на фатальной ошибке. Посмотрите в консоли ошибок. Либо, не подгружается какой-то из скриптов. Смотрите в файрбаге.
...
Рейтинг: 0 / 0
Навигация по сайту со сменой фона. Проблема!!!
    #37844882
boichukvd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паганель, Не знаю как объяснить, но попробую так: я скопировал исходники (index.html, jquery.bgpos.js, style.css) с сайта russeller. На нем 3 меню, когда я переделую на 4 в том же файле, также все работает. Делаю сайт в joomla, поэтому эту навигацию надо прикрепить в index.php, когда прикрепляю, то перестает работать смена фона (навигация со сменой фото, при наведении на одно из меню должна меняться картинка). Пример я уже скидывал, можно посмотреть
...
Рейтинг: 0 / 0
Навигация по сайту со сменой фона. Проблема!!!
    #37844921
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boichukvdПример я уже скидывал, можно посмотретьв этой ростыне мне разбираться некогда, уж простите
выделите из нее самые важные фрагменты (это у Вас займет минут 40),
создайте из них на http://jsfiddle.net пример, демонстрирующий проблему (это у Вас займет минут 5),
сохраните и выложите сюда ссылку на этот пример (это у Вас займет минуту)

или ждите когда Вам поможет кто-то еще
...
Рейтинг: 0 / 0
Навигация по сайту со сменой фона. Проблема!!!
    #37845232
boichukvd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle, да ты наверное прав, вот такие там ошибки: http://pixs.ru/showimage/Bezimyanni_8984305_5072671.png. я так понимаю здесь проблема с путями?
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Навигация по сайту со сменой фона. Проблема!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]