2012-04-25 3 views
0

Итак, я создал небольшой веб-сайт: http://rolandgroza.com/projects/tcsg/, но, похоже, у меня есть проблема, с которой я не сталкивался, прежде чем перемещать файлы на сервер. Обычно я тестирую на localhost перед развертыванием на сервере, поэтому я только видел проблему после того, как сделал.JavaScript-перенаправление не работает на сервере, но на localhost?

Вы можете увидеть мой сценарий JavaScript в исходном коде, но я поместить его здесь:

$(document).ready(function() { 

var header = $('body').find('header'); 
var footer = $('body').find('footer'); 
var badge = $('body').find('.badge-wrapper'); 

var logo_red = $(header).find('.logo a'); 

var navigation = { 
    home:  $('body').find('.home'), 
    about:  $('body').find('.about'), 
    services: $('body').find('.services'), 
    contact: $('body').find('.contact') 
} 

var container = { 
    home:  $('body').find('.content-home-wrapper'), 
    about:  $('body').find('.content-about-wrapper'), 
    services: $('body').find('.content-services-wrapper'), 
    contact: $('body').find('.content-contact-wrapper') 
} 

var home = { 
    form:  $(container.home).find('.form-wrapper'), 
    galleries: $(container.home).find('.galleries-wrapper') 
} 

var about = { 
    notepad: $(container.about).find('.notepad-wrapper') 
} 

var services = { 
    minimum: $(container.services).find('.minimum-package'), 
    medium:  $(container.services).find('.medium-package'), 
    featured: $(container.services).find('.featured-package') 
} 

var contact = { 
    notepad: $(container.contact).find('.notepad-wrapper') 
} 

var position = function (obj) { 
    return { 
     'top': (($(window).height() - $(obj).outerHeight())/2) + 'px', 
     'left': (($(window).width() - $(obj).outerWidth())/2) + 'px' 
    } 
} 

var current_page = function() { 
    var path = window.location.pathname; 
    var current_page = path.substring(path.lastIndexOf('/') + 1); 
    return current_page; 
} 

var curr_pag = current_page(); 

switch (curr_pag) { 
    case 'index.php': 
     $(navigation.home).addClass('selected'); 
     break; 
    case 'about.php': 
     $(navigation.about).addClass('selected'); 
     break; 
    case 'services.php': 
     $(navigation.services).addClass('selected');    
     break; 
    case 'contact.php': 
     $(navigation.contact).addClass('selected'); 
     break; 
    default: 
     break; 
} 

$(logo_red).on('click', function() { 
    var page = current_page(); 
    switch (page) { 
     case 'index.php': 
      $(home.form).removeClass('animated flipInX'); 
      $(home.galleries).removeClass('animated flipInX'); 
      $(home.form).addClass('animated fadeOutLeftBig'); 
      $(home.galleries).addClass('animated fadeOutRightBig'); 
      setTimeout(function(){ 
       window.location.href = 'index.php'; 
      }, 2000); 
      break; 
     case 'about.php': 
      $(about.notepad).removeClass('animated flipInX'); 
      $(about.notepad).addClass('animated flipOutX'); 
      setTimeout(function(){ 
       window.location.href = 'index.php'; 
      }, 2000); 
      break; 
     case 'services.php': 
      $(services.minimum).removeClass('animated flipInY'); 
      $(services.medium).removeClass('animated flipInY'); 
      $(services.featured).removeClass('animated flipInY'); 
      $(services.minimum).addClass('animated fadeOutLeftBig'); 
      $(services.medium).addClass('animated fadeOutDownBig'); 
      $(services.featured).addClass('animated fadeOutRightBig'); 
      setTimeout(function(){ 
       window.location.href = 'index.php'; 
      }, 2000); 
      break; 
     case 'contact.php': 
      $(contact.notepad).removeClass('animated flipInX'); 
      $(contact.notepad).addClass('animated flipOutX'); 
      setTimeout(function(){ 
       window.location.href = 'index.php'; 
      }, 2000); 
      break; 
     default: 
      break; 
    } 
    e.preventDefault(); 
}) 

for(var key in navigation) { 
    var object = navigation[key]; 
    $(object).on('click', function(e){ 
     var link = $(this).attr('href'); 
     $(this).addClass('animated hinge'); 
     var page = current_page(); 
     switch (page) { 
      case 'index.php': 
       $(home.form).removeClass('animated flipInX'); 
       $(home.galleries).removeClass('animated flipInX'); 
       $(home.form).addClass('animated fadeOutLeftBig'); 
       $(home.galleries).addClass('animated fadeOutRightBig'); 
       setTimeout(function(){ 
        window.location.href = link; 
       }, 2000); 
       break; 
      case 'about.php': 
       $(about.notepad).removeClass('animated flipInX'); 
       $(about.notepad).addClass('animated flipOutX'); 
       setTimeout(function(){ 
        window.location.href = link; 
       }, 2000); 
       break; 
      case 'services.php': 
       $(services.minimum).removeClass('animated flipInY'); 
       $(services.medium).removeClass('animated flipInY'); 
       $(services.featured).removeClass('animated flipInY'); 
       $(services.minimum).addClass('animated fadeOutLeftBig'); 
       $(services.medium).addClass('animated fadeOutDownBig'); 
       $(services.featured).addClass('animated fadeOutRightBig'); 
       setTimeout(function(){ 
        window.location.href = link; 
       }, 2000); 
       break; 
      case 'contact.php': 
       $(contact.notepad).removeClass('animated flipInX'); 
       $(contact.notepad).addClass('animated flipOutX'); 
       setTimeout(function(){ 
        window.location.href = link; 
       }, 2000); 
       break; 
      default: 
       break; 
     } 
     e.preventDefault(); 
    }) 
} 

$(badge).hover(
    function(){ 
     $(this).addClass('animated swing'); 
    }, 
    function(){ 
     $(this).removeClass('animated swing'); 
    } 
); 

setTimeout(function(){ 
    $(header).addClass('animated fadeInDown'); 
    $(footer).addClass('animated fadeInUp'); 
    $(badge).addClass('animated swing'); 
}, 1000); 

setTimeout(function(){ 
    $(home.form).addClass('animated flipInX'); 
    setTimeout(function(){ 
     $(home.galleries).addClass('animated flipInX'); 
    }, 500); 
}, 2000); 

setTimeout(function(){ 
    $(about.notepad).addClass('animated flipInX'); 
}, 2000); 

setTimeout(function(){ 
    $(services.minimum).addClass('animated flipInY'); 
    setTimeout(function(){ 
     $(services.medium).addClass('animated flipInY'); 
     setTimeout(function(){ 
      $(services.featured).addClass('animated flipInY'); 
     }, 500); 
    }, 500); 
}, 2000); 

setTimeout(function(){ 
    $(contact.notepad).addClass('animated flipInX'); 
}, 2000); 

for(var key in container) { 
    var object = container[key]; 
    var css = position(object); 
    $(object).css(css); 
} 

$('select').dropkick(); 

}); 

Проблема заключается в том, что при нажатии на одну из ссылок меню должны быть некоторые анимации происходят, а затем перенаправлен на ссылку, на которую вы нажали, с window.location.href, но это не работает, почти все.

Я не могу сказать, в чем проблема, поэтому я надеюсь, что кто-то сможет, потому что на XAMPP localhost отлично работает.

+0

Вы уверены, что пути к вашим файлам css верны? Я не вижу их при открытии url в Firefox. – Roger

+0

Что делать css-файлам с 'location.href'? Я работаю с МЕНЬШЕ, но CSS там, я уверяю вас, все кажется, что все в порядке, по крайней мере в Chrome, я еще не тестировал в других браузерах. – Roland

+0

Я не отвечал на вопрос, просто интересно, где был css. После обновления я вижу графику. (выглядит хорошо). Страница медленно загружается, и Firefox вызывает ошибку в том, что сценарий занят. – Roger

ответ

1

Проблема заключается в том, что вы запрашиваете текущую страницу и на своей домашней странице, когда index.php не находится в URL-адресе вашего отсутствующего, и ваши случаи переключения не работают. Добавьте к своей функции переключения в навигации случай отсутствия страницы или страницы == '' таким образом, она будет знать, что делать. Надеюсь, это поможет!

+0

ОК, позвольте мне попробовать, но почему это происходит только на сервере, но не на localhost? – Roland

+0

Да, это была проблема, я забыл о том, что у вас нет адреса страницы при запросе корневого каталога :) Я столкнулся с этой проблемой раньше, и я забыл :) Спасибо, что указали @mlantz. – Roland

+0

Может быть, это как-то связано с htaccess? У меня были проблемы с этим перед собой. – mlantz

Смежные вопросы