Textarea

Icon Mehr Text
                
                
                    
<div class="stg-input_textarea_wrapper">
    <textarea id="element_dynamic_textarea" name="kundeninfo" class="stg-input_element stg-input_textarea" style="height: 50px;">Dies ist ein Beispieltext, um zu zeigen, wie die Ausklappfunktion bei mehr Text ausschaut.</textarea>
    <span class="stg-input_text_slidedown stg-cp" data-collapsedheight="50" onclick="toggleTextArea(this)">
        <img id="element_toogle_icon" src="./images/icon_arrow_down_circle_grey.png" alt="Icon Mehr Text">
    </span>
</div>

                
            
                
                
                    

.stg-input_textarea_wrapper {
  position: relative;
  width: 20%;
}

.stg-input_element {
  background-color: var(--slider-grau);
  color: var(--schwarz);
  border: none;
  border-radius: 10px;
  padding: 8px 15px;
  width: 100%;
  box-sizing: border-box;
}

.stg-input_textarea {
  font-weight: 400;
  font-size: 14px;
  line-height: 2;
  color: var(--grau_1);
  overflow: hidden;
}
.stg-input_text_slidedown {
  position: absolute; 
  bottom: -10px; 
  left: 50%; 
  transform: translateX(-50%);
  transition: transform 0.3s;
}

.stg-cp {
  cursor: pointer;
}
                
            
                
                
                    
function toggleTextArea(triggerElem) {
    var textareaId = triggerElem.dataset.textareaid;
    var imgId = triggerElem.dataset.imgid;

    var textarea = document.getElementById(textareaId);
    var icon = document.getElementById(imgId);
    var collapsedHeight = (triggerElem.dataset.collapsedheight || "50") + "px";
    const currentHeight = window.getComputedStyle(textarea).height;

    // Überprüfen, ob die Textarea leer ist oder Inhalt nicht die Höhe überschreitet
    if (textarea.value.trim() === '' || textarea.scrollHeight <= parseInt(collapsedHeight)) {
        // Falls leer oder Inhalt kleiner als Höhe, Icon drehen
        icon.classList.toggle('stg-element_textarea_icon_rotated');
        return;
    }

    // Wenn die Höhe der textarea gleich der Höhe von collapsedHeight ist
    if (currentHeight === collapsedHeight) {
        // Textarea erweitern
        textarea.style.height = textarea.scrollHeight + 'px';
        icon.classList.add('stg-element_textarea_icon_rotated');
    } else {
        // Textarea wieder zusammenschieben
        textarea.style.height = '50px';
        icon.classList.remove('stg-element_textarea_icon_rotated');
    }
}
                
            
#textfeld #texteingabe #input text #textfeld icon #textfeld toggle