Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Huhu,

ich hätte gerne eine Textbox oder was auch immer verschiebbar gemacht.


<script language="JavaScript" src="JS/prototype.js"></script>

<script language="JavaScript" src="JS/scriptaculous.js"></script>


<script type="text/javascript">


window.onload = function(){


             new Draggable("anzeigen");<--


	window.setTimeout("Effect.Shake('kntinhaber')", 200 );

	window.setTimeout("Effect.Shake('firma')", 600);

	window.setTimeout("Effect.Shake('titel')", 200);

	window.setTimeout("Effect.Shake('kontakt')", 600);

}

</script>

Der Shake-Effect funktioniert aber das Draggen nicht!



new Draggable('anzeigen');


Wenn anzeigen die ID deines Elements ist, weiß jetzt gar nicht, ob Javascript Strings auch mit doppeltem anführungszeichen unterstützt, aber das würd ich mal so probieren. Zumindest in den Beispielen ist das ja auch nur mit einem ' gemacht.

funktioniert leider auch nicht!

Dann zeig uns doch mal deinen Code, nicht nur das Script oben. Ein kleines Beispiel mit dem relevanten Code würde reichen.


<td><input id="anzeigen" name="anzeigen" type="text" style="width: 120px"/><%=kontakt.getKntinhaber() %></td>

mehr ist nicht relevant, denke ich!

gruß

Könnte es daran liegen, dass input ein Inline-Element ist? Inline-Elemente haben normalerweise keine Position, und können also auch nicht positioniert werden. Also ihre Position wird durch den Text vorgegeben.


<input ... style="display:block;" />

Wie sieht denn Dein gesamter COde aus?

Ich habe


<script type="text/javascript">

window.onload = function(){

	new Draggable("anzeigen");

	window.setTimeout("Effect.Shake('kntinhaber')", 200 );

	window.setTimeout("Effect.Shake('firma')", 600);

	window.setTimeout("Effect.Shake('titel')", 200);

	window.setTimeout("Effect.Shake('kontakt')", 600);

}

</script>

und

<div id="anzeigen">TEST</div>

<div id="kntinhaber">Hallo</div>

<div id="firma">Hallo</div>

<div id="titel">Hallo</div>

<div id="kontakt">Hallo</div>

und alles funktioniert prima.

BTW: Mit Ajax hat die ganze Sache nichts zu tun. Das ist "nur" Javascript.

habe keine divs sondern textboxen und buttons,

ich dachte, wenn ich die frameworks (prototype und scriptaculo.us) von

Ajax einbinde, dass das dann was mit ajax zu tun hat oder etwa nicht?

Hi,

dann würd ich einfach <div> um die Textboxen machen, dann geht das auch.


<div id="anzeigen">Das hier zum Drag</div>

<div id="kntinhaber"><input type="text" /></div>

<div id="firma"><input type="text" /></div>

<div id="titel"><input type="text" /></div>

<div id="kontakt"><input type="text" /></div>

Prototype und Scriptaculous sind Javascript Frameworks, die auch Funktionen beinhalten mit denen Du mit / über Ajax arbeiten kannst.

Die Effectfunktionen (wie Dein Shake) sind aber "reines Javascript", haben also nichts mit Ajax zu tun.

Viele Grüße

ich dachte, wenn ich die frameworks (prototype und scriptaculo.us) von

Ajax einbinde, dass das dann was mit ajax zu tun hat oder etwa nicht?

Ajax ist es dann, wenn du Ajax benutzt :D Ajax stammt von Asynchronous Javascript And Xml. Also Javascript Anfragen an den Server, die asynchron laufen, also die eigentliche Seite ist nicht blockiert während der Anfrage.

Das wird dazu benutzt, um Daten schneller und für den Benutzer nicht so direkt sichtbar vom Server nachzuladen oder Anfragen an den Server zu stellen. Dadurch verhält sich deine Seite nicht wie sonst, also Klick auf Button und warten bis die Seite neu aufgebaut wurde, sondern es geht alles im Hintergrund und der Benutzer bemerkt die anfrage an den Server kaum, bzw die Seite bleibt bestehen und meldet nur ein "Bitte warten..." o.ä.

Dadurch sieht deine Webseite mehr wie eine normale Applikation aus.

EDIT:

Und wie schon angesprochen: Div = Block, Input = Inline.

huhu,

da bin ich wieder!

ich benutze websphere und wenn ich auf vorschau gehe, funktioniert das

mit dem Draggable!

wenn ich die seite aber auf dem server ausführe funktioniert es nicht! :(

Der folgende code funktioniert nicht auf dem Server ....


window.onload = function(){

//Box verschiebbar machen!

new Draggable("Box", {handle: "Titlebar"});

//Event 'mouseup' überwachen und an die Funktion highlight binden!

Event.observe("Titlebar", "mouseup", highlight);//Farben ändern


//Ausblenden eines divs

$("Titlebar").ondblclick = function(){

	Effect.toggle("Content", "blind");

}


//Box zum Wackeln bringen!

window.setTimeout("Effect.Shake('Box2')", 3000 );

}

function highlight(){

	new Effect.Highlight("Box", {startcolor: "#FFFFFF", endcolor: "#006666"});

}

im code von oben funktioniert dagegen das Shake auf dem Server!

ich finde es seltsam aber die lösung nicht! :D

vielleicht fällt euch ja etwas auf!

gruß

In welcher Vorschau funktioniert es? Da du etwas von Websphere geschrieben hast vermute ich mal das nicht alle *.js Dateien im EAR/WAR liegen und somit nach dem Deploment nicht auf dem Server zu finden sind.

Hast du eventuell Fehlermeldungen im Browser die bei der Fehleranalyse weiter helfen können? Für den Firefox gibt es sehr gute Plugins(FireBug) dir es dir auch ermöglichen das JavaScript zu debuggen.

Im websphere-editor gibt es drei register

1. Entwurf

2. Quelle

3. Voranzeige

in der voranzeige funktioniert das draggable

und das shake.

Auf dem server funktioniert nur noch das shake!

bin neu in java, wo kann ich denn da nachschauen, ob die dateien enthalten sind?

gruß

Im websphere-editor gibt es drei register

1. Entwurf

2. Quelle

3. Voranzeige

in der voranzeige funktioniert das draggable

und das shake.

Auf dem server funktioniert nur noch das shake!

Das hat mit dem Server abolut nichts zu tun. alles was eine Rolle spielt ist der Client der es anzeigt.

sprich: Der Websphere-editor nutzt eine andere Engine als der Client mit dem du es probierst, wenn du es auf dem Server abgelegt hast.

Javascript läuft einzig und ausschließlich auf dem Client. Wenn du lokal die HTML Datei mit dem Javascript drin in deinem Browser öffnest, wird es genausowenig gehen wie auf dem Server.

das problem ist doch aber, dass eins funktioniert und eins nicht!

Das liegt doch aber wie JesterDay geschrieben hat an den unterschiedlichen Browser Engines. Der WebSphere Editor nutz eine andere als den Browser mit dem du dir die Seite vom Server aus an schaust. Welchen Browser nutzt du?

Poste doch mal bitte konkrete Fehlermeldungen die der Browser erzeugt damit können wir mehr anfangen als hier geht es und da nicht.

ie7 und mozilla benutze ich!

es ist doch aber beides javascript!

das draggable und das shake!

und deshalb verstehe ich nicht, dass das eine im ie7

funktioniert und das andere nicht!

und deshalb verstehe ich nicht, dass das eine im ie7

funktioniert und das andere nicht!

Wenn beide Versionen den IE7 nutzen, dann kann es noch daran liegen, dass du das Javascript extern nachlädst und das von einer anderen Domain versuchst? Da wird dann wohl das Sicherheitsmodell eingreifen. Du kannst nicht einfach alles von irgendwo nachladen und alles tun.

ich lade nichts von anderen domains nach! (wenn ich das machen würde --> "Zugriff verweigert")

die dateien sind in meinem projektordner!

gruß

Ok, oben hast du wiedermal nur den Javascript Code. Um dein Problem nachvollziehen zu können langt das aber nicht ;)

Eine kleine Seite (muss nur das wirklich nötigste enthalten) die dein Problem aufweist wäre ganz nett. Die Glaskugeln sind bei FI.de leider nicht zum Download angeboten...

an code habe ich folgendes:


<script language="JavaScript" src="JS/prototype.js"></script>

<script language="JavaScript" src="JS/scriptaculous.js"></script>

und dann noch

<script type="text/javascript">


	window.onload = function(){

		new Draggable('test');  //funktioniert nicht! shake dagegen schon!

		window.setTimeout("Effect.Shake('kntinhaber')", 200 );

		window.setTimeout("Effect.Shake('firma')", 600);

		window.setTimeout("Effect.Shake('titel')", 200);		

	}


</script>

dann habe ich im JS-ordner die js-Dateien für das draggable und das shake,

die bei dem scriptaculous dabei waren:

dragdrop.js

effects.js usw.

weiteren code oder dateien habe ich nicht!

gruß

weiteren code oder dateien habe ich nicht!

Ich meinte eine kleine Beispielseite, die das von dir beschriebene Verhalten aufweißt.

Sowas wie:


<html>

  <head>

    <title>Beispiel</title>

    <script type="text/javascript">

      function myAlert(aText)

      {

        alert(aText);

      }

    </script>

  </head>

  <body onload="myAlert('Dies ist nur ein kleines Beispiel.')">

    Nur ein Beispiel

  </body>

</html>

EDIT:

<script language="JavaScript"...

Das könnte aber vielleicht auch ein Fehler sein. language ist AFAIR nur etwas was der IE unterstütz so richtig. Korrekt ist meines Wissens nach nur type="text/javascript".

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.