// animeCat.js // miau! window.AnimeCat = class AnimeCat { /** * @param {HTMLElement} container * @param {Object} [options] */ constructor(container, options = {}) { this.container = container; this.images = Object.assign({ default: 'default.png', eyesClosed: 'eyes_closed.png', blink: 'blink.png', mouthOpen: 'mouth_open.png', joy: 'joy.png', mischievous: 'mischievous.png' }, options.images); this.blinkMin = options.blinkMin ?? 5000; this.blinkMax = options.blinkMax ?? 15000; this.blinkDuration = options.blinkDuration ?? 175; this.talkInterval = options.talkInterval ?? 300; this._consolationCount = 0; this._isSpeaking = false; this._blinkTimeout = null; this._talkIntervalId = null; this._speechTimeout = null; this._mouthOpen = false; this._pettingActive = false; this._createElements(); this._bindMouseHold(); this._startBlinking(); } _createElements() { // Flexbox: Katze und Bubble nebeneinander this.wrapper = document.createElement('div'); Object.assign(this.wrapper.style, { position: 'relative', display: 'flex', flexDirection: 'row', alignItems: 'flex-end', minHeight: '60px', minWidth: '180px', zIndex: '1' }); // --- Glow --- this.glow = document.createElement('div'); this.glow.id = 'cat-glow'; // CSS hier ODER besser via