2016-01-22 5 views
2

Итак, я создаю слайдер галереи с 5 изображениями. Я обернул каждые 5 изображений в div с классом.Если заявление не регистрируется

То, что я пытаюсь сделать, это удалить элементы управления, если имеется только одна страница 5 изображений

var a = $('.truckgallery .gallery dl '); 

    do $(a.slice(0,5)).wrapAll('<div class="f-slide"/>'); 
    while((a = a.slice(5)).length > 0) 

    if($('.f-slide').length < 1){ 
     $('.gal-nav').css('display' , 'none'); 
    } 

Когда я бегу «$ („ е салазки“). Длина» в консоли I верните правильный номер. Я просто не могу получить утверждение if, чтобы поднять его.

+0

Условие 'if' отображается после' $ ('. F-slide'). Length' больше '1'? – guest271314

+0

использовать «брекеты для блоков» –

ответ

2

Вам нужна точка с запятой в конце do...while заявления и удалите точку с запятой в конце строки do:

do $(a.slice(0,5)).wrapAll('<div class="f-slide"/>') 
    while((a = a.slice(5)).length > 0); 

Пример: https://jsfiddle.net/3445jrdy/

+0

Это неверно. Если '' 'after' do' будет выполнять только' do', то независимо от того, что. – nem035

+1

@ Ты не прав, то есть в первоначальном вопросе, который я пропустил. Тем не менее, нужно использовать полуточку после 'while'. – Steve

3

Всегда используйте фигурные скобки для блока отчетности. Ниже код исправляет проблему

do { 
    $(a.slice(0,5)).wrapAll('<div class="f-slide"/>'); 
}while((a = a.slice(5)).length > 0); 
Смежные вопросы