[JAVA] [Rails] Implementierung der Bildvorschau

Ziel

ezgif.com-video-to-gif.gif

Entwicklungsumgebung

・ Ruby: 2.5.7 Schienen: 5.2.4 ・ Vagrant: 2.2.7 -VirtualBox: 6.1 ・ Betriebssystem: macOS Catalina

Annahme

Folgendes wurde implementiert.

Schlanke EinführungEinführung von Bootstrap 3Einführung von Font Awesome

Implementierung

1. Ansicht bearbeiten

slim:users/edit.html.slim


/Nachtrag
= f.file_field :profile_image, class: 'img_field', style: 'display:none;'
= attachment_image_tag @user, :profile_image, fallback: 'no-image.png', onClick: "$('.img_field').click()", class: 'center-block img-thumbnail img-responsive img_prev'
br

[Erläuterung]

(1) Verstecke file_field vor display: none und weise eine Klasse zu.

= f.file_field :profile_image, class: 'img_field', style: 'display:none;'

(2) Wenn auf HTML (Dateifeld) der in (1) zugewiesenen Klasse geklickt wird, wird die JavaScript-Verarbeitung ausgeführt.

onClick: "$('.img_field').click()"

2. Bearbeiten Sie application.scss

appliacation.scss


//Nachtrag
.img_prev:hover {
  cursor: pointer; 
  opacity: 0.7;
  transform: scale(1.01, 1.01);
}

[Erläuterung]

① Reflektieren Sie CSS, wenn sich die Maus auf dem Bild befindet.

.img_prev:hover {}

② Ändern Sie den Mauszeiger in einen Zeiger.

cursor: pointer; 

③ Verringern Sie die Deckkraft und machen Sie das Bild etwas weißer.

opacity: 0.7;

④ Vergrößern Sie das Bild ein wenig.

transform: scale(1.01, 1.01);

3. Erstellen / bearbeiten Sie eine JavaScript-Datei

Terminal


$ touch app/assets/javascripts/image_preview.js

image_preview.js


$(function () {
  function readURL(input) {
    if (input.files && input.files[0]) {
      var reader = new FileReader();
      reader.onload = function (e) {
        $('.img_prev').attr('src', e.target.result);
      }
      reader.readAsDataURL(input.files[0]);
    }
  }

  $('.img_field').change(function () {
    readURL(this);
  });
});

[Erläuterung]

(1) "1. Der Vorgang des Bearbeitens der Ansicht mit (2)".

$('.img_field').change(function () {
  readURL(this);
});

Recommended Posts

[Rails] Implementierung der Bildvorschau
Implementierung der Bildvorschau
Implementierung der Bildvorschau-Funktion
[Rails] Implementierung der Kategoriefunktion
[Rails] Implementierung der Tutorial-Funktion
[Rails] Implementierung einer ähnlichen Funktion
[Rails] Implementierung der Bildvergrößerungsfunktion mit Lightbox2
[Rails] Implementierung der CSV-Importfunktion
[Rails] Asynchrone Implementierung der Like-Funktion
[Rails] Über die Implementierung der Like-Funktion
[Rails] Implementierung der Benutzerrückzugsfunktion
[Rails] Implementierung der CSV-Exportfunktion
Rails [Für Anfänger] Implementierung der Kommentarfunktion
[Ruby on Rails] Implementierung einer ähnlichen Funktion
Implementierung der Suchfunktion
Implementierung der Pagenationsfunktion
[Rails] Implementierung der Suchfunktion mit Gem's Ransack
Implementierung der Ruby on Rails-Anmeldefunktion (Sitzung)
[Rails] Implementierung einer Bild-Diashow mit Bootstrap 3
Implementierung der Ajax-Entfernung in Rails
Implementierung der sequentiellen Suchfunktion
Implementierung einer ähnlichen Funktion (Ajax)
Implementierung der Kategorie-Pulldown-Funktion
[Rails] Implementieren Sie die Image-Posting-Funktion
[Rails] Implementierung der Drag & Drop-Funktion (mit Wirkung)
Implementierung der Ruby on Rails-Anmeldefunktion (Devise Edition)
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der Abstammung "Vorbereitung"
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der "Seed Edition" der Vorfahren
[Ruby on Rails] Post-Bildvorschau-Funktion in Refile
[Rails] Implementierung des logischen Löschens durch den Benutzer
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der Abstammung "Edit Form Edition"
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der Abstammung "Erstellungsformular"
Implementierung der Rails-Sortierfunktion (angezeigt in der Reihenfolge der Anzahl der Gleichen)
[Rails] Implementierung von Viele-zu-Viele-Kategoriefunktionen
Implementierung der Funktionsfunktion [Rails] gem ancestry category
[Ruby on Rails] Implementierung der Kommentarfunktion
[Rails] Memo zur Implementierung der Kommentarfunktion
Implementierung einer ähnlichen Funktion in Java
[Rails] Implementierung einer neuen Registrierungsfunktion im Assistentenformat mit devise
Ich habe versucht, die Bildvorschau mit Rails / jQuery zu implementieren
[Rails] Implementierung der Couponfunktion (mit automatischer Löschfunktion mittels Stapelverarbeitung)
Ersetzen Sie die Vorschau durch Hochladen, indem Sie auf das Bild in file_field of Rails klicken
[Rails] Implementierung der Tag-Funktion mit Acts-as-Taggable-On und der Funktion zur Vervollständigung der Tag-Eingabe mit Tag-It
[Rails] Hinzufügen der Ruby On Rails-Kommentarfunktion