Files
core/hwe/ts/legacy/activateFlip.ts
Hide_D dfb10c1b44 fix: initTooltip과 bootstrap-vue-3 충돌 문제 해결
- 기타 data-bs 안붙은거 마저 수정
2021-12-11 11:37:41 +09:00

43 lines
1.1 KiB
TypeScript

import $ from "jquery";
export function activateFlip($obj?: JQuery<HTMLElement>): void {
let $result: JQuery<HTMLElement>;
if ($obj === undefined) {
$result = $('img[data-flip]');
} else {
$result = $obj.find('img[data-flip]');
}
$result.each(function () {
activeFlipItem($(this));
});
}
export function activeFlipItem($img: JQuery<HTMLElement>): void {
const imageList = [];
imageList.push($img.attr('src'));
$.each($img.data('flip').split(','), function (idx, value) {
value = $.trim(value);
if (!value) {
return true;
}
imageList.push(value);
});
if (imageList.length <= 1) {
return;
}
$img.data('computed_flip_array', imageList);
$img.data('computed_flip_idx', 0);
$img.click(function () {
const arr = $img.data('computed_flip_array');
let idx = $img.data('computed_flip_idx');
idx = (idx + 1) % (arr.length);
$img.attr('src', arr[idx]);
$img.data('computed_flip_idx', idx);
});
$img.css('cursor', 'pointer');
}