2014-01-18 5 views
0

Я работаю над сайтом для клиента и очень хочу его (не спрашивайте меня, почему) должен был играть музыку все время, а переключение страниц должно продолжаться песня, а не повторите его. Я использовал Jquery нагрузки в основном загружать каждую страницу в область содержимого моего index.htmlJavascript не работает после загрузки jquery

Пример страницы нагрузки

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#maincontent").load("home.html"); 
    }); 
</script> 

Page Changer

<script type="text/javascript"> 
    function pageChanger(page){ 
     $("#maincontent").load(); 
     window.scrollTo(0, 0); 
    } 
</script> 

Как вы можете видеть на http://file.gflam.com/MothersDayStore он работает хорошо и как следует. Мой вопрос, хотя у меня есть эта загрузка сценария в заголовке

<script type="text/javascript" src="js/jquery.carouFredSel-6.0.2.js"></script> 

Он работает, когда вы первый перейти на сайт, и вы увидите продукты в нижней части свитка, однако, если вы закроете страницу затем вернуться на главную страницу они больше не находятся в слайд-шоу. Это такое же поведение, как если бы я удалял скрипт jquery.carouFredSel-6.0.2.js из заголовка. Мое предположение (я не очень хорошо изучаю это) заключается в том, что, поскольку он находится в заголовке, он загружается только на загрузку страницы, поэтому, когда jquery загружает содержимое страницы, он больше не запускается?

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

ответ

0

вы видите этот код в файле home.html. Оберните это в функцию. Назовите его в загрузке страницы, сразу после нее. Затем в вашей загрузке различных страниц. function pageChanger (страница), тест для «home.html», если это так, - затем вызвать функцию. ала.

$(window).load(function(){ 
    function initializeCarousel(){ 
    $('#foo4').carouFredSel({ 
     responsive: true, 
     auto: { 
      timeoutDuration : 4000,  // 5 * auto.duration 
     }, 
     width: '100%', 
     scroll: { 
      items : 4,  // 5 * auto.duration 
      pauseOnHover : true,  // scroll.pauseOnHover 
     }, 
     prev: '#prev2', 
     next: '#next2', 
     pagination: "#pager2", 
     items: { 
      width: 250, 
      height: 'auto', // optionally resize item-height 
      visible: { 
       min: 4, 
       max: 4 
      } 
     } 
    }) 
    } 
initializeCarousel(); 
}); 




function pageChanger(page){ 
    $("#maincontent").load(page); 
    window.scrollTo(0, 0); 
    if(page == 'home.html'){ 
     initializeCarousel(); 
    } 
} 

Я уверен, что есть более краткий способ обращения с этим. Но факт, что вы загружаете .html, вы уже повторно инициализировали его при начальной загрузке страницы. Когда вы вернетесь к 'home.html', вы уже покончили с этой инициализацией. Вы должны перезапустить его.

+1

Спасибо, миллион, что это было, я ломал себе голову на добрый час или два на этом – user577732

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