suche Hilfe bei Anpassung eines Scripts

lacov

Neues Mitglied
Ich bin Musiklehrer und habe für meine kleine Schule ein Songbook (Übungsplattform...) geschrieben.
Dort gibt es die Möglichkeit mittels Buttons den Song (Text + AKKORDE) in jede Tonart zu transponieren. Dieses Javascript habe ich von Christian Frauscher. Man kann aus den mittlerweise über 500 Songs sein persönliches Songbook zusammen bauen. Nun möchte ich, dass der Schüler den Transposewert zu dem Song abspeichern kann (soweit geht schon alles) und beim Aufruf des Songs der Wert den Akkorde automatisch transponiert.
Der Transposewert wird in einer URL Variablen an den Song gehängt. Kann aber auch in eine : <input type="hidden"> geschrieben werden.
Leider bekomme ich das nicht hin und benötige Hilfe!

Da das Songbook nicht ohne Passwort geht... DEMOSeite:[/B] http://sample.webotto.de/Songbook_demo.php
hier das Script:
// JavaScript Document
$().ready(function() {
var octave = [
"A",
"B",
"H",
"C",
"C#",
"D",
"Eb",
"E",
"F",
"F#",
"G",
"G#"
];
// START Button und Input erstellen:
// hier werden die Buttons hinzugefügt.
var $btnGroup = $("#MyNavi .btn-group");
var $btnDown = $("<button>").addClass("btn btn-lg");
$btnDown.html('<i class="fa fa-chevron-down"></i>');
$btnDown.appendTo ($btnGroup);

var $transpose = $("<input>").addClass("btn btn-lg");
$transpose.val("0").width("3em");
$transpose.appendTo ($btnGroup);

var $btnUp = $("<button>").addClass("btn btn-lg");
$btnUp.html('<i class="fa fa-chevron-up"></i>');
$btnUp.appendTo($btnGroup);
// ENDE Buttons & Input erstellen.

// WENN Buttons & Input im HTML vorhanden reichen stattdessen auch diese drei Zeilen:
//var $transpose = $(".input-transpose");
//var $btnDown = $(".button-transpose-down");
//var $btnUp = $(".button-transpose-up");


// Event-Handler:
$btnUp.click(function(e) {
$transpose.val(parseInt($transpose.val())+1)
.change();
e.preventDefault();
return false;
});
$btnDown.click(function(e) {
$transpose.val(parseInt($transpose.val())-1)
.change();
e.preventDefault();
return false;
});

$transpose.bind("change keyup", function () {
if (this.value > 6) this.value = parseInt(this.value) - 12;
if (this.value < -6) this.value = parseInt(this.value) + 12;
var value = parseInt(this.value);

if (!Number.isNaN(value)) {
updateChords(value);
} else {
this.value = "0";
}
});

// helper functions
function updateChords(trans) {
var $accords = $(".Akkord");
$accords.each(function() {
var $this = $(this);
var value = $this.text();

if ($this.data("original")) {
value = $this.data("original");
} else {
$this.data("original", value);
}
if (trans != 0) {


value = value.replace(/[\s\/]([abcdefgh])/g,normalizeMol).replace(/(A|B|C|D|E|F|G|H)(|[#])?/g,function(chord,tone,mod) {
var newChord = transpose(chord,trans);
return newChord;
});
$this.html(value);

} else {
$this.html($this.data("original"));
}

})
}
function normalizeMol(match) {
return match.toUpperCase() + "m";
}
function transpose(chord,transpose) {
var mod;
if (chord.length > 1) {
mod = chord.substr(1,1);
chord = chord.substr(0,1);
}
var chordNr = parseInt(octave.indexOf(chord));
if (chordNr>=0) {
chordNr += parseInt(transpose);
if (mod=="#") chordNr+=1;
if (mod=="b" && chord !== "B") chordNr-=1;

if (mod == "b" && chord == "B") chordNr = 1 + transpose;

if (chordNr < 0) chordNr = chordNr+12;
if (chordNr >= 12) chordNr = chordNr%12;

return octave[chordNr] + (chordNr==1?"b":"");
}
return false;
}
});
 

krgewb

Top Contributor
In Monospace-Schrift:

Code:
$().ready(function() {
var octave = [
"A",
"B",
"H",
"C",
"C#",
"D",
"Eb",
"E",
"F",
"F#",
"G",
"G#"
];
// START Button und Input erstellen:
// hier werden die Buttons hinzugefügt.
var $btnGroup = $("#MyNavi .btn-group");
var $btnDown = $("<button>").addClass("btn btn-lg");
$btnDown.html('<i class="fa fa-chevron-down"></i>');
$btnDown.appendTo ($btnGroup);

var $transpose = $("<input>").addClass("btn btn-lg");
$transpose.val("0").width("3em");
$transpose.appendTo ($btnGroup);

var $btnUp = $("<button>").addClass("btn btn-lg");
$btnUp.html('<i class="fa fa-chevron-up"></i>');
$btnUp.appendTo($btnGroup);
// ENDE Buttons & Input erstellen.

// WENN Buttons & Input im HTML vorhanden reichen stattdessen auch diese drei Zeilen:
//var $transpose = $(".input-transpose");
//var $btnDown = $(".button-transpose-down");
//var $btnUp = $(".button-transpose-up");


// Event-Handler:
$btnUp.click(function(e) {
$transpose.val(parseInt($transpose.val())+1)
.change();
e.preventDefault();
return false;
});
$btnDown.click(function(e) {
$transpose.val(parseInt($transpose.val())-1)
.change();
e.preventDefault();
return false;
});

$transpose.bind("change keyup", function () {
if (this.value > 6) this.value = parseInt(this.value) - 12;
if (this.value < -6) this.value = parseInt(this.value) + 12;
var value = parseInt(this.value);

if (!Number.isNaN(value)) {
updateChords(value);
} else {
this.value = "0";
}
});

// helper functions
function updateChords(trans) {
var $accords = $(".Akkord");
$accords.each(function() {
var $this = $(this);
var value = $this.text();

if ($this.data("original")) {
value = $this.data("original");
} else {
$this.data("original", value);
}
if (trans != 0) {


value = value.replace(/[\s\/]([abcdefgh])/g,normalizeMol).replace(/(A|B|C|D|E|F|G|H)(|[#])?/g,function(chord,tone,mod) {
var newChord = transpose(chord,trans);
return newChord;
});
$this.html(value);

} else {
$this.html($this.data("original"));
}

})
}
function normalizeMol(match) {
return match.toUpperCase() + "m";
}
function transpose(chord,transpose) {
var mod;
if (chord.length > 1) {
mod = chord.substr(1,1);
chord = chord.substr(0,1);
}
var chordNr = parseInt(octave.indexOf(chord));
if (chordNr>=0) {
chordNr += parseInt(transpose);
if (mod=="#") chordNr+=1;
if (mod=="b" && chord !== "B") chordNr-=1;

if (mod == "b" && chord == "B") chordNr = 1 + transpose;

if (chordNr < 0) chordNr = chordNr+12;
if (chordNr >= 12) chordNr = chordNr%12;

return octave[chordNr] + (chordNr==1?"b":"");
}
return false;
}
});
 

Barista

Top Contributor
Bei Deinem Problem handelt es sich um JavaScript.

Deshalb hast Du sicher Deine Frage im falschen Forum gestellt.

Außerdem ist Deine Frage sehr unspezifisch.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P ISBN suche via Java Angular, React, JQuery - Fragen zu JavaScript 1
M Suche: Teile von Wörtern finden und dann Seiten einblenden Angular, React, JQuery - Fragen zu JavaScript 13
L [JavaScript] Mehrere Variablen für Live-Suche in MySql-DB Angular, React, JQuery - Fragen zu JavaScript 0
S Suche Lösung für einen Slider mit Textverlinkung Angular, React, JQuery - Fragen zu JavaScript 2
L Suche D3 Tutorial (speziell für Sunburst-Darstellung...) Angular, React, JQuery - Fragen zu JavaScript 2
R Suche Möglichkeit eine ID durch Dateiendung zu ergänzen [location.href / getElementById ] Angular, React, JQuery - Fragen zu JavaScript 4
Fab1 [SUCHE] JavaScript Buch für Umsteiger Angular, React, JQuery - Fragen zu JavaScript 4
M Suche programmieren Angular, React, JQuery - Fragen zu JavaScript 4
K Suche Scrollscript für Objekte Angular, React, JQuery - Fragen zu JavaScript 3
T Suche folgendes Script Angular, React, JQuery - Fragen zu JavaScript 3
S Suche eine bestimmte Seite Angular, React, JQuery - Fragen zu JavaScript 3
R suche besonderes script Angular, React, JQuery - Fragen zu JavaScript 2
D belohnung - suche lösung Angular, React, JQuery - Fragen zu JavaScript 2
G suche script Angular, React, JQuery - Fragen zu JavaScript 3
M JavaScript Hilfe dringend (v.2) Angular, React, JQuery - Fragen zu JavaScript 1
M Hilfe! Feature detection - Browser nach Java abfragen Angular, React, JQuery - Fragen zu JavaScript 3
FranziskaN Hilfe Los-Topf in js und html Angular, React, JQuery - Fragen zu JavaScript 18
T Bitte um Hilfe bei Zeichenzähler Erweiterung Angular, React, JQuery - Fragen zu JavaScript 12
T Bin neu und brauche Hilfe Angular, React, JQuery - Fragen zu JavaScript 4
T Benötige Hilfe Angular, React, JQuery - Fragen zu JavaScript 11
K Hilfe bei Caesar Verschlüsselung Angular, React, JQuery - Fragen zu JavaScript 2
N Hilfe, kann jemand den Fehler finden? Angular, React, JQuery - Fragen zu JavaScript 4
A Hilfe für guten Zweck Angular, React, JQuery - Fragen zu JavaScript 6
M Hilfe bei kleinem Script Angular, React, JQuery - Fragen zu JavaScript 8
O Anfänger bittet um Hilfe neuer Versuch Angular, React, JQuery - Fragen zu JavaScript 1
O Bitte um Hilfe Angular, React, JQuery - Fragen zu JavaScript 3
B Photoshop Script Hilfe Angular, React, JQuery - Fragen zu JavaScript 2
K Javascript "Bild mit Pfeiltasten automatisch bewegen" HILFE Angular, React, JQuery - Fragen zu JavaScript 0
F Hilfe bei if Abfrage Angular, React, JQuery - Fragen zu JavaScript 2
K Hilfe bei mitwachsenden Textboxen. Angular, React, JQuery - Fragen zu JavaScript 5
H Hilfe bei quiz gesucht Angular, React, JQuery - Fragen zu JavaScript 5
F Hilfe Button mit Javascript Angular, React, JQuery - Fragen zu JavaScript 2
F [S] Hilfe beim JavaScript auf Homepage Angular, React, JQuery - Fragen zu JavaScript 4
R Java Code Hilfe Angular, React, JQuery - Fragen zu JavaScript 16
J Von javascript zu java HILFE Angular, React, JQuery - Fragen zu JavaScript 5
B Brauche Hilfe bei Java-Script... Angular, React, JQuery - Fragen zu JavaScript 4
Bloodfire Brauche Hilfe bei Java Skript Angular, React, JQuery - Fragen zu JavaScript 5
A Brauche hilfe bei java-script Angular, React, JQuery - Fragen zu JavaScript 3
V Hilfe Angular, React, JQuery - Fragen zu JavaScript 7
M Hilfe gesucht für ein Projekt Angular, React, JQuery - Fragen zu JavaScript 1
C Hilfe bei passwort skript Angular, React, JQuery - Fragen zu JavaScript 3
S Brauche Hilfe mit Java Script Angular, React, JQuery - Fragen zu JavaScript 2
M Advend Advend mein Lichtlein ist ausgebrannt :( HILFE Angular, React, JQuery - Fragen zu JavaScript 2
G Hilfe - Javascript geht auf meinem Rechner nicht. Angular, React, JQuery - Fragen zu JavaScript 2
M Hilfe Angular, React, JQuery - Fragen zu JavaScript 5
R Brauche Hilfe bei dem Java Script Bitte Angular, React, JQuery - Fragen zu JavaScript 3
J Brauche Hilfe, weiß aber nicht wie das heißt! Angular, React, JQuery - Fragen zu JavaScript 8
R Rolldown Menü Hilfe bitte Angular, React, JQuery - Fragen zu JavaScript 2
S Bitte um Hilfe Script gesucht Angular, React, JQuery - Fragen zu JavaScript 4
L Hilfe bei Bildscroll Script Angular, React, JQuery - Fragen zu JavaScript 5
A HILFE - Popup soll sich selbst aktualisieren. Angular, React, JQuery - Fragen zu JavaScript 3
G Hilfe bei Mauskoordinaten abfrage Angular, React, JQuery - Fragen zu JavaScript 4
A Brauche hilfe bei einen Servlet Angular, React, JQuery - Fragen zu JavaScript 8
L Hilfe! Newbie verzweifelt! Angular, React, JQuery - Fragen zu JavaScript 7
S Preloader hilfe Angular, React, JQuery - Fragen zu JavaScript 7
O Newbie sucht Hilfe Angular, React, JQuery - Fragen zu JavaScript 3
T Totaler Newbee bitte dringend um Hilfe Angular, React, JQuery - Fragen zu JavaScript 2
H Ich brauche hilfe Angular, React, JQuery - Fragen zu JavaScript 3
M Ich brauch jetzt, genau jetzt Hilfe!!!! Angular, React, JQuery - Fragen zu JavaScript 3
R Netscap + Java Brauche Hilfe Angular, React, JQuery - Fragen zu JavaScript 1
N HILFE:... ICH KOMME NET MEHR WEITER! Angular, React, JQuery - Fragen zu JavaScript 2

Ähnliche Java Themen

Neue Themen


Oben