Хобрук: Ваш путь к мастерству в программировании

jquery сброс и установка переменных

Я пытаюсь создать скользящие элементы div с переменной «верхней» высотой, так что один элемент может скользить вверх на 700 пикселей, а другой (с меньшим количеством контента) — только на 400 пикселей. В настоящее время все divs slideUp находятся на одной высоте. В css нет объявления высоты div. Мой сценарий:

$(document).ready(function(){          
            var oldHeight;  
    $('a.menubtn').click(function(){              
            var newHeight;
            if ($(this.id) == 'work') {
                  newHeight = 700;  
                  }
                  else { if ($(this.id) == 'services') {
                      newHeight = 400;
                  }
                  else { if ($(this.id) == 'about') {
                      newHeight = 400;
                  }
                  else {
                      newHeight = 300;
                  }
                  }
                  }

            if ($('.active').length > 0) {

                $('.active').removeClass('active').animate({'top': '+=' + oldHeight + 'px'}, '200');
                $('div#contents_'+ this.id).addClass('active').animate({'top': '-=' + newHeight + 'px'}, '200');
                oldHeight = newHeight;
                }
                else 
    $('div#contents_'+ this.id).addClass('active').animate({'top': '-=' + newHeight + 'px'}, '200');
                oldHeight = newHeight;
                }
    return(false);
    });               
})

ТИА.

10.08.2010

Ответы:


1

Ваши if утверждения неверны.

Этот:

$(this.id) == 'work'  // here you're comparing a jQuery object to 'work'

должно быть:

this.id == 'work'     // here you're comparing the actual ID value to 'work'

Было бы чище, если бы вы изменили структуру операторов if так:

if (this.id == 'work') {
    newHeight = 700;  
} else if (this.id == 'services') {
    newHeight = 400;
} else if (this.id == 'about') {
    newHeight = 400;
} else {
    newHeight = 300;
}
10.08.2010
Новые материалы

Краткое руководство для начинающих по простому сквозному тестированию с помощью Cypress
Автоматизированное тестирование, требующее только базовых навыков JavaScript. Цель этой статьи - показать, как с минимальными усилиями вы можете добавить полезные сквозные (E2E) тесты в свой..

Руководство по быстрой разработке рекомендательной системы промышленного уровня
В этой статье я намерен предоставить краткий обзор методов, которые можно использовать для разработки хорошо работающей рекомендательной системы. Я начал работать над Recommender Systems около 6..

Arshaw FullCalendar для AngularJS — проблемы, с которыми столкнулись, и найденные решения для их устранения
Arshaw FullCalendar — это полноразмерный календарь событий с возможностью перетаскивания, использующий jQuery. Подробнее об этом можно узнать здесь . Директива ui-calendar — это полная..

Простое руководство по Redux для разработчиков React
Понимание строительных блоков Redux Redux — это инструмент управления состоянием, который чаще всего используется с React или React Native. Когда я впервые начал использовать его год назад,..

присоединение к атрисмаркетингу
присоединение к атрисмаркетингу И много дополнительных привилегий. маркетинг — реклама-хорошие отзывы клиентов-доверие-счастье-лояльность и опытные сотрудники устойчивые лесозаготовительные..

КОВАРИАНТНОСТЬ И КОРРЕЛЯЦИЯ
ВВЕДЕНИЕ В этом посте мы обсудим ковариацию и корреляцию. Это играет важную роль при выборе функций. Статистические корреляции говорят нам как о силе связи между двумя переменными, так..

Использование матриц Вигнера в случаях машинного обучения, часть 8
Равномерный локальный закон для матриц Вигнера (arXiv) Автор: Джорджо Чиполлони , Ласло Эрдеш , Доминик Шредер . Аннотация: Мы доказываем общий локальный закон для матриц Вигнера, который..