2014-12-10 6 views
-1

Я пытаюсь запустить два jQuery на одной странице, я обнаружил, что можно запустить один из них в любой момент.

Можно ли присоединиться к ним, так что оба будут работать?

Вот две функции я пытаюсь присоединиться:

Номер функции 1

jQuery(document).ready(function() { 
    $('#countdown_dashboard1').countDown({ 
     queue: false, 
     targetDate: { 
      'day': 9, 
       'month': 1, 
       'year': 2016, 
       'hour': 11, 
       'min': 0, 
       'sec': 0 
     } 
    }); 
}); 

Функция 2

<script id="addJS"> 
    jQuery(document).ready(function($) { 
     jQuery.rsCSS3Easing.easeOutBack = 'cubic-bezier(0.175, 0.885, 0.320, 1.275)'; 
     $('#slider-with-blocks-1').royalSlider({ 
      queue: false, 
      arrowsNav: true, 
      arrowsNavAutoHide: false, 
      fadeinLoadedSlide: false, 
      controlNavigationSpacing: 0, 
      controlNavigation: 'bullets', 
      imageScaleMode: 'none', 
      imageAlignCenter: false, 
      blockLoop: true, 
      loop: true, 
      numImagesToPreload: 2, 
      transitionType: 'move', 
      keyboardNavEnabled: true, 
      autoPlay: { 
       enabled: true, 
       delay: 8000, 
       pauseOnHover: false, 
       stopAtAction: false 
      }, 
      block: { 
       delay: 200 
      } 
     }); 
    }); 
</script> 
+2

?? Вы можете иметь столько «готовых» обработчиков, сколько хотите. Библиотека будет запускать их в том порядке, в котором они появятся. – Pointy

+0

Попробуйте поместить обе функции в один и тот же «готовый» блок и посмотреть, будут ли они оба выполняться. Возможно, вы делаете то, чего не ожидаете. –

+0

Я немного смущен, вы действительно говорите о функциях .ready или имеете в виду две версии jQuery? – Spokey

ответ

1

jQuery(document).ready() конструкция просто регистрирует обработчик событий в ondomready случае объект document. (Гайки и болты немного более тонкие, чем это, но это в основном точная.)

И (для этого события или любого другого события ) вы можете зарегистрировать столько обработчиков, сколько хотите.

Итак, да, вы можете делать то, что вы просите.

Проверьте консоль JavaScript, чтобы узнать, есть ли у вас ошибки во время выполнения.

0

jQuery(document).ready(function() {}); просто отменяет выполнение любой своей упаковки, когда документ считается готовым.

Из документов (http://learn.jquery.com/using-jquery-core/document-ready/):

кодекс включены внутри $ (документ) .ready() будет работать только один раз в объектной модели страницы документа (DOM) готова к JavaScript-код для выполнения.

Что вы хотите:

jQuery(document).ready(function() { 
    $('#countdown_dashboard1').countDown({ 
     queue: false, 
     targetDate: { 
      'day': 9, 
       'month': 1, 
       'year': 2016, 
       'hour': 11, 
       'min': 0, 
       'sec': 0 
     } 
    }); 

jQuery.rsCSS3Easing.easeOutBack = 'cubic-bezier(0.175, 0.885, 0.320, 1.275)'; 

$('#slider-with-blocks-1').royalSlider({ 
      queue: false, 
      arrowsNav: true, 
      arrowsNavAutoHide: false, 
      fadeinLoadedSlide: false, 
      controlNavigationSpacing: 0, 
      controlNavigation: 'bullets', 
      imageScaleMode: 'none', 
      imageAlignCenter: false, 
      blockLoop: true, 
      loop: true, 
      numImagesToPreload: 2, 
      transitionType: 'move', 
      keyboardNavEnabled: true, 
      autoPlay: { 
       enabled: true, 
       delay: 8000, 
       pauseOnHover: false, 
       stopAtAction: false 
      }, 
      block: { 
       delay: 200 
      } 
    }); 
});