Denke auch, dass es nur ein Missverständnis beim TO ist und es in Wirklichkeit um einen FTP-Client geht.
Beiträge von Sempervivum
-
-
Hast Du die Seite schon online? Das Problem mit Fancybox würde mich interessieren.
Alternativ könntest Du die Bilder alle nebeneinander in einem Container anordnen und für diesen das Scrollen einschalten durch overflow-x: auto;. Dann würde ich erwarten, dass am Smartphone das Durchwischen funktioniert, allerdings ohne Einrasten.
-
PS: Ich hätte das gleich testen sollen: Die verketteten += sind nicht das Problem, sondern die Variablen sind undefiniert, wenn die Checkbox nicht gecheckt ist. Und bei den keys ist das führende & überflüssig, weil die Parameter aus den Checkboxen es schon haben. Dieses liefert die gewünschte URL:
Code
Alles anzeigenfunction openUrl() { //Formulardaten auslesen und in Variablen speichern var webseite = "https://www.example.de/suche?"; var keys = "dealerid=TEST"; var vw = '', audi = '', skoda = ''; if (document.FORM.vw.checked) { var vw = document.FORM.vw.value; } if (document.FORM.audi.checked) { var audi = document.FORM.audi.value; } if (document.FORM.skoda.checked) { var skoda = document.FORM.skoda.value; } //Suchdienst URL und Suchbegriff zusammen bringen webseite += vw += audi += skoda += keys; //Such URL aufrufen // window.location = webseite; console.log(webseite); } -
Ich vermute mal, dass diese verketteten += nicht so funktionieren, wie man es erwartet. Versuche es statt dessen so:
webseite += vw + audi + skoda + keys;
-
-
CSS ist wahrscheinlich nicht notwendig, aber HTML könnte helfen. Und vor alles das Javascript, das Du zuletzt verwendet hast.
-
PS: Ich vermute mal, dass Du einfach die Standortabfrage gelöscht hast. Dann kann es nicht mehr funktionieren, denn die Funktion getWeather wird in setPosition aufgerufen und diese ist wieder ein Callback bei der Standortabfrage in Zeile 15. D. h. das einzige, was Du tun musst, ist die Funktion getWeather() am Ende des Skripts aufzurufen.
-
Sieh genau hin, ich habe, um es leicht testen zu können, das Eintragen in die HTML-Elemente auskommentiert und die Daten statt dessen in die Console geschrieben:
Codefunction displayWeather() { console.log(weather); // iconElement.innerHTML = `<img src="icons/${weather.iconId}.png" />`; // tempElement.innerHTML = `${weather.temperature.value}°<span>C</span>`; }Wenn Du das wieder rückgängig machst, sollte es funktionieren:
-
Ich habe dein Skript mal auf das notwendigste reduziert und dann funktioniert es einwandfrei:
Code
Alles anzeigen<script> // App data const weather = {}; weather.temperature = { unit: "celsius" } // GET WEATHER FROM API PROVIDER function getWeather() { fetch(`http://api.openweathermap.org/data/2.5/weather?q=Recke,ger&appid=${"82005d27a116c2880c8f0fcb866998a0"}`) .then(function (response) { let data = response.json(); return data; }) .then(function (data) { weather.temperature.value = Math.floor(data.main.temp - 273); weather.description = data.weather[0].description; weather.iconId = data.weather[0].icon; weather.city = data.name; weather.country = data.sys.country; }) .then(function () { displayWeather(); }); } // DISPLAY WEATHER TO UI function displayWeather() { console.log(weather); // iconElement.innerHTML = `<img src="icons/${weather.iconId}.png" />`; // tempElement.innerHTML = `${weather.temperature.value}°<span>C</span>`; } getWeather(); </script>In deinem Skript ist jedoch die Standortabfrage noch drin. Soll das jetzt die Version vor oder nach dem Umbau sein?
-
Zitat
bei mir bremmst der eine irgendwie etwas langsamer ab
Das nennt man "easing" und ist auch bei Cycle2 vielfältig variierbar, auch mit langsamem Abbremsen.
-
Ich habe mal einen Prototypen gemacht, um den roten Balken in das SVG einzufügen:
Die Parameter werden aus dem vorhandenen SVG ausgelesen. Ist kein Label "2019-2020" da, wird auch kein Balken erzeugt.
Code
Alles anzeigenconst wRect = 10; const horizontalLines = $('svg').eq(0).children('g').eq(2).find('rect'), labels = $('svg').eq(0).children('g').eq(2).find('text'); let x = -1; labels.each(function (idx, item) { if (item.textContent == '2019/2020') x = parseInt(item.getAttribute('x')) - wRect / 2; }); if (x != -1) { const yTop = horizontalLines.eq(0).attr('y'), yBtm = horizontalLines.eq(horizontalLines.length - 1).attr('y'), height = yBtm - yTop; function makeSVG(tag, attrs) { var el = document.createElementNS('http://www.w3.org/2000/svg', tag); for (var k in attrs) el.setAttribute(k, attrs[k]); return el; } theRect = makeSVG('rect', { x: x, y: yTop, width: wRect, height: height, fill: '#ff0000' }); document.querySelectorAll('svg')[0].appendChild(theRect); }Funktioniert auf meiner Testseite; es muss dann noch in die originale Seite integriert werden.
-
Zitat
allerdings find ich leider die smoothen Übergänge bei meinem etwas schöner.....
Verstehe nicht: Die zweite Demo von links auf der Startseite von Cycle2 hat genau denselben Slide-Effekt wie bei der Demo von Basti.
-
Du wirst hier mit einem Nachteil von Slidern, die auf CSS basieren, konfrontiert: Die Erweiterung ist eine Qual und sehr fehleranfällig.
Zitatvielleicht hat ja jemand eine Idee oder Verbesserung.
Ja, habe ich: Einen bewährten Slider auf Javascript-Basis verwenden, wie z. B. Cycle2:
-
Zitat
vom Android her kenne ich die swipe-eigenschaften
Wenn ich mich richtig erinnere, ist Fancybox touch-ready und unterstützt swipe. Versuche es!
-
Was var, let und const betrifft, hast Du vollkommen Recht, ich hatte den Code von hier:
https://zellwk.com/blog/looping-through-js-objects/
und darauf nicht so geachtet.
Die Sache mit hasOwnProperty ist hier beschrieben:
-
PS: Jetzt getestet und war noch fehlerhaft. Die Funktion muss so aussehen:
-
Der Kern der Sache scheint mir dieses zu sein:
Ich vermute, Du willst die Einträge aus nameValue in die Felder unten übertragen. nameValue ist jedoch keine Funktion und die Anweisungen, die darin stehen, werden nicht ausgeführt durch nameValue[pos], sondern nur ein Mal, wenn Du diese Struktur definierst. Vermutlich würde dies tun, was Du vor hast:
Code
Alles anzeigenconst nameValue = { knightsvalue: { hp: 1520472, Atk: 17632, // ebenso alle weiteren Eintraege aendern document.getElementById('P_Def').innerText = 7832, document.getElementById('M_Def').innerText = 6096, document.getElementById('Mp_Recovery_Atk').innerText = 210, document.getElementById('Crit').innerText = 150, document.getElementById('Acc').innerText = 100, document.getElementById('Cc_Resist').innerText = 150, document.getElementById('Penetration').innerText = 150, document.getElementById('P_Dodge').innerText = 250, document.getElementById('M_Dodge').innerText = 250, document.getElementById('Atk_Speed').innerText = 1000 }, warriorsvalue: { // alle Elemente wie oben aendern document.getElementById('Hp').innerText = 1291376, document.getElementById('Atk').innerText = 20032, document.getElementById('P_Def').innerText = 6528, document.getElementById('M_Def').innerText = 7832, document.getElementById('Mp_Recovery_Atk').innerText = 235, document.getElementById('Acc').innerText = 100, document.getElementById('Crit').innerText = 150, document.getElementById('Penetration').innerText = 150, document.getElementById('P_Dodge').innerText = 100, document.getElementById('M_Dodge').innerText = 100, document.getElementById('Atk_Speed').innerText = 1000, document.getElementById('Cc_Resist').innerText = 150 }, };Und dann in der Funktion:
Code
Alles anzeigenfunction statsValue(pos) { //nameValue[pos]; var obj = nameValue[pos] for (var property in obj) { if (obj.hasOwnProperty(property)) { document.getElementById(property).innerText = obj[property]; } } console.log('2'); console.log(pos); };Ungetestet, versuche es mal so.
-
Möglicher Weise bindest Du irgend welche Dateien ein, CSS oder JS oder PHP durch include und die Pfade passen dann nicht mehr. Wenn Du es online hast, dann poste die URL. Möglicher Weise gibt auch die Console Hinweise, was falsch läuft.
-
Ob und wo die Console in Sublime zu finden ist, weiß ich leider nicht. In jedem Fall findest Du sie aber in deinem Browser: F12 in IE und Edge, Strg+Umsch+I in den anderen.
ZitatBzw weiß nicht, ob es ratsam ist, auf eine externe Lösung zurückzugreifen.
Was meinst Du damit?
-
Die Console zeigt dir an, wo das Problem liegt: Zeile 2 des Javascript sieht so aus:
const totalQuestionSpan==document.querySelector(".total-question");
Da hast Du ein doppeltes statt einem einfachen Gleichheitszeichen.