#javascript
#javascript
Вопрос:
Я добавил некоторые функции скрытия и скольжения на веб-сайт, чтобы при выборе каждого атрибута продукта следующий выпадал. Это работало нормально, пока клиент не добавил дополнительные атрибуты к НЕКОТОРЫМ продуктам. Дополнительный атрибут вызывает у меня проблемы, потому что я не могу добавить второй триггер функции slide, не заставляя его запускать две функции в этих продуктах.
Исходный код, который я использовал
$('.wrapperAttribsOptions11').hide();
$('.sizeRadio').click(function () {
$('.wrapperAttribsOptions11').slideDown(800);
});
Затем клиент добавил атрибут id4, поэтому я добавил
$('.wrapperAttribsOptions4').change(function () {
$('.wrapperAttribsOptions11').slideDown(800);
});
Но это означает, что на страницах, где используются ОБА атрибута, параметр 11 скользит вниз при нажатии .sizeRadio, а не при изменении параметра 4.
Короче говоря, возможно ли заставить его функционировать так, чтобы если .wrapperAttribsOptions4 присутствовал, то
$('.sizeRadio').click(function () {
$('.wrapperAttribsOptions11').slideDown(800);
});
игнорируется.
Надеюсь, это достаточно ясно.
Комментарии:
1. есть какие-либо проблемы с запуском демонстрации?
2. @gp скрипка здесь jsfiddle.net/pkBbb Вы увидите, что при выборе параметра «Размер» оба параметра «Центр изделия» и «Требования к гравировке» выдвигаются.
Ответ №1:
Я решил это, используя
if ($('.wrapperAttribsOptions4').length != 0) {
таким образом, весь сегмент кода становится
$('.wrapperAttribsOptions11').hide();
if ($('.wrapperAttribsOptions4').length != 0) {
$('.wrapperAttribsOptions4').change(function () {
$('.wrapperAttribsOptions11').slideDown(800);
});
}else
$('.sizeRadio').click(function () {
$('.wrapperAttribsOptions11').slideDown(800);
});