Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Портфолио

Портфолио
, by

Здравствуйте, пытаюсь сделать портфолио как у Вас в 6-м уроке, но все остановилось на прицеплении js, как я не пробовал, но он не цепляется к  тегам <li>. В файле

script.js  прописал

(function ($, Drupal, window, document, undefined) {
$(document).raedy(function() {
 $('#widget_pager_bottom_nashi_raboty_slide-block').jcarousel();
});
})(jQuery, Drupal, this, this.document);
 к внимательно изучил 6-й урок по

в файле site.info прописал

scripts[] = js/jquery.jcarousel.min.js
scripts[] = js/script.js
, т.е сделал как в уроке, но js ни как не цепляется. Подскажите в чем еще может быть проблема.

 

1 answer
votes: 796
Answer

Проблема может быть в HTML-коде, он должен быть как в примере jcarousel:

<ul id="carousel">
  <li>
    <a></a>
  </li>
  <li>
    <a></a>
  </li>
</ul>

Ничего лишнего быть не должно, за исключением дополнительных CSS-классов.

Еще ошибка может быть в CSS, установите модуль web developer или firebug, у вас должна выводиться ошибка javascript. Если там написано, что не указаны высота или ширина у carousel item, тогда укажите в CSS высоту и ширину тега li в карусели.

 


У меня выглядит так:

<ul id="widget_pager_bottom_nashi_raboty_slide-block" class="views-slideshow-pager-fields widget_pager widget_pager_bottom views_slideshow_pager_field views-slideshow-pager-field-processed">

   <li id="views_slideshow_pager_field_item_bottom_nashi_raboty_slide-block_0" class="views-slideshow-pager-field-item views_slideshow_pager_field_item views_slideshow_active_pager_field_item views-row-odd active">
   <li id="views_slideshow_pager_field_item_bottom_nashi_raboty_slide-block_1" class="views-slideshow-pager-field-item views_slideshow_pager_field_item views-row-even">
</ul>
т.е. вот это
id="widget_pager_bottom_nashi_raboty_slide-block" не меняется на id="jcarousel", хотя в файле script.js прописано следующее
(function ($, Drupal, window, document, undefined) {


$(document).raedy(function() {
 $('#widget_pager_bottom_nashi_raboty_slide-block').jcarousel();
});


})(jQuery, Drupal, this, this.document); Такое чувство, что скрипт не цепляеться.


у вас ошибка в слове ready().

(function($)){
  $(document).ready(function() {

  });
})(jQuery);

Спасибо, ошибку исправил. Теперь выглядит так:

<ul class="views-slideshow-pager-fields widget_pager widget_pager_bottom views_slideshow_pager_field views-slideshow-pager-field-processed" id="widget_pager_bottom_nashi_raboty_slide-block" data-jcarousel="true">
  <li class="">............

Возможно после добавления калькулятора я не правильно запускаю скрипт? Это он:

(function ($, Drupal, window, document, undefined) {


$(document).ready(function() {
 $('#widget_pager_bottom_nashi_raboty_slide-block').jcarousel();
});


//})(jQuery, Drupal, this, this.document);
//Онлайн калькулятор
//(function ($){
$(document).ready(function() {
  var typ, L, B, H, price;
  $('<div class="price"></div>').insertBefore($('#edit-actions'));
  $('<div class="price_obym"></div>').insertBefore($('#edit-actions'));
  function changePrice(){
    typ = $('#webform-component-typ input:checked').val();
  L = $('#webform-component-L input:checked').val();
  B = $('#webform-component-B input:checked').val();
  H = $('#webform-component-H input:checked').val();
  if(typ&&L&&B&&H){
  typ = parseFloat(typ);
  L = parseFloat(L);
  B = parseFloat(B);
  H = parseFloat(H);
  price = (typ*B+L+B)*H;
  price = Math.round(price*8100);
  $('.price').html('<p> Стоимость сруба: <strong>' + price + ' руб.</strong></p>');
  price_obym = (typ*B+L+B)*H;
  price_obym = Math.round(price_obym);
  $('.price_obym').html('<p> Объем древисины: <strong>' + price_obym + ' м. куб.</strong></p>');
  }
  }
 $('#webform-client-form-13 #edit-submitted-typ,#webform-client-form-13 .webform-component-radios input').bind('click change', function(){
  changePrice();
 });
});
})(jQuery);

 
  


Проверьте через firebug, если ли ошибки в коде. Используйте один $(document).ready(), пишите в нем весь код:

jquery