Использую метод .attr, чтобы передать атрибут data-y элементу .inner. Блоков .content на странице множество, поэтому обращаюсь не напрямую по имени класса.
.content
.inner
// Здесь блоки, которые должны переключаться
.arrows
.js-arrow-up
.js-arrow-down
$('body').on('click', '.js-arrow-up', function() {
var $container = $(this).parents().eq(1).find('.inner');
var current_pos = $container.attr('data-y') ? parseInt($container.attr('data-y')) : 0;
var shift = 200;
if (current_pos > 0) {
if (current_pos - shift < 0) current_pos = shift;
$container.css('transform', 'translateY(-' + (current_pos - shift) + 'px)')
$container.attr('data-y', current_pos - shift);
}
}).on('click', '.js-arrow-down', function() {
var $container = $(this).parents().eq(1).find('.inner');
$('.inner').attr('transition');
var current_pos = $container.attr('data-y') ? parseInt($container.attr('data-y')) : 0;
var shift = 200;
var max = ($container.find('.inner').length - 3) * shift;
if (current_pos < max) {
if (current_pos + shift > max) current_pos = max - shift;
$container.css('transform', 'translateY(-' + (current_pos + shift) + 'px)')
$container.attr('data-y', current_pos + shift);
}
});
Атрибут не передается. $element определяет правильно. В консоли ошибок нет.
Подозреваю, что неправильно определяю элемент, но ошибку найти не могу.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей