• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

JavaScript für onMouseOver-Musik

prophet550

Neues Mitglied
Hallo liebe User,
bin neu hier im Forum und möchte über ein Bild ein onMouseOver einstellen. Ich habe schon ein Script was nachher folgt. Nur mein Problem ist bei dem Script das es
1. Automatisch startet wenn ich die Seite aktualisiere.
2. Wenn ich rüberfahre startet es zwar immer neu aber wenn ich rausfahre macht es weiter d.h. ich möchte noch ein onMouseOut.
3.Geht das auch ohne Links?

Code im Head:
HTML:
<SCRIPT type="text/javascript">
function playSound()
{
    var neu = open("about:blank", "mp3");
    var newdoc = neu.document;
    newdoc.open();
    newdoc.write('<EMBED SRC="../Musik/JamesBond.mp3" autostart="false" mastersound volume="15" width="1" height="1"></EMBED>');
    newdoc.close();
}
</SCRIPT>

Code im bzw. um das Image:
HTML:
    <iframe name="mp3" src="about:blank" width="1" height="1" frameborder="0" scrolling="no" noresize></iframe>
    <A HREF="#" onMouseOver="playSound();" onClick="return false;">
    <img src="blabla.jpg" border="0" height="300" width="221" align="right">
    </A>
 
ja, sehr gute Idee aber ich suche was für MouseOver und ich kenn mich nicht so aus mit java bzw. weiß ich nicht wie man es umschreiben kann.
 
probier das mal aus:
Code:
[COLOR=#000000][COLOR=#007700]<[/COLOR][COLOR=#0000bb]html[/COLOR][COLOR=#007700]> 
<[/COLOR][COLOR=#0000bb]head[/COLOR][COLOR=#007700]> 
<[/COLOR][COLOR=#0000bb]script[/COLOR][COLOR=#007700]> 
function [/COLOR][COLOR=#0000bb]play[/COLOR][COLOR=#007700]() { 
[/COLOR][COLOR=#0000bb]document[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]getElementById[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"musik"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000bb]play[/COLOR][COLOR=#007700](); 
} 
function [/COLOR][COLOR=#0000bb]stop[/COLOR][COLOR=#007700]() { 
[/COLOR][COLOR=#0000bb]document[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]getElementById[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"musik"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000bb]stop[/COLOR][COLOR=#007700](); 
} 
[/COLOR][COLOR=#0000bb]</script> 
[/COLOR]</head> 
<body> 
<EMBED SRC="musik eingeben" HIDDEN="TRUE" AUTOSTART="false" MASTERSOUND id="musik">  
<a href="#"  
  onmouseover="play()">   
<A HREF="#"  
  onmouseout="stop()"><img src="blabla.jpg"[/COLOR][COLOR=#800080]border=[COLOR=#0000ff]"0"[/COLOR] height=[COLOR=#0000ff]"300"[/COLOR] width=[COLOR=#0000ff]"221"[/COLOR] align=[COLOR=#0000ff]"right"[/COLOR][/COLOR][COLOR=#000000]> 
</img>
</A> </A>
</body>  [/COLOR]
</html>
 
Zuletzt bearbeitet:
probier das mal aus:
Code:
[COLOR=#000000][COLOR=#007700]<[/COLOR][COLOR=#0000bb]html[/COLOR][COLOR=#007700]> 
<[/COLOR][COLOR=#0000bb]head[/COLOR][COLOR=#007700]> 
<[/COLOR][COLOR=#0000bb]script[/COLOR][COLOR=#007700]> 
function [/COLOR][COLOR=#0000bb]play[/COLOR][COLOR=#007700]() { 
[/COLOR][COLOR=#0000bb]document[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]getElementById[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"musik"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000bb]play[/COLOR][COLOR=#007700](); 
} 
function [/COLOR][COLOR=#0000bb]stop[/COLOR][COLOR=#007700]() { 
[/COLOR][COLOR=#0000bb]document[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]getElementById[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"musik"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000bb]stop[/COLOR][COLOR=#007700](); 
} 
[/COLOR][COLOR=#0000bb]</script> 
[/COLOR]</head> 
<body> 
<EMBED SRC="musik eingeben" HIDDEN="TRUE" AUTOSTART="false" MASTERSOUND id="musik">  
<a href="#"  
  onmouseover="play()">   
<A HREF="#"  
  onmouseout="stop()"><img src="blabla.jpg"[/COLOR][COLOR=#800080]border=[COLOR=#0000ff]"0"[/COLOR] height=[COLOR=#0000ff]"300"[/COLOR] width=[COLOR=#0000ff]"221"[/COLOR] align=[COLOR=#0000ff]"right"[/COLOR][/COLOR][COLOR=#000000]> 
</img>
</A> </A>
</body>  [/COLOR]
</html>
nein, geht nicht aber danke trotzdem
 
Auf Grund deines Code-Fragments kann man leider nicht beurteilen wieso das bereits losläuft, wenn Du die Seite lädst. Poste doch bitte den kompletten Code oder einen Link zur betreffenden Seite.
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Home - Selbstpräsentation</title>
<style type="text/css">
a:link {
color: #000000;
text-decoration: none;
}
a:visited {
text-decoration: none;
color: #000000;
}
a:hover {
text-decoration: none;
color: #000000;
}
a:active {
text-decoration: none;
color: #000000;
}
</style>
</head>

<script type="text/javascript">
function changeBg(farbe)
{
document.getElementById('div1').style.backgroundColor = farbe;
document.getElementById('zelle1').style.backgroundColor = farbe;
document.getElementById('zelle2').style.backgroundColor = farbe;
document.getElementById('p1').style.color = farbe;
}

function schriftfarbe(sfarbe)
{
document.getElementById('div1').style.color = sfarbe;
}

function randfarbe(rfarbe)
{
document.getElementById('div2').style.borderColor = rfarbe;
}
</script>

<body id="div1">

<div id="div2" style="border:20px solid; border-color:rgb(191,255,255); height:400px; padding:62px; margin-top:55px" align="center">
<div id="div1" style="background-color:#CCCCCC; height:390px; width:180px; float:left; text-align:left; padding-left:5px; padding-top:5px;">

<table width="1037" height="431" border="0" align="right" cellpadding="0" cellspacing="0" bgcolor="#CCCCCC" valign="middle">
<tr style="color: #000000;" align="center" valign="middle">
<th width="81" height="23" scope="col">HOME</th>
<th width="68" scope="col"><a href="infos.html">
<button>Infos</button>
</a></th>
<th width="89" scope="col"><a href="wohnort.html">
<button>Wohnort</button>
</a></th>
<th width="97" scope="col"><a href="karriere.html">
<button>Karriere</button>
</a></th>
<th width="92" scope="col"><a href="hobbysbilder.html">
<button>Hobbys/Bilder</button>
</a></th>
<th width="159" scope="col"><a href="berufswunsch.html">
<button>Berufswunsch</button>
</a></th>
</tr>
<tr>
<td id="zelle1" height="10px" colspan="6" bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td id="div1" height="300" colspan="6">
<div style="padding-right:10px">
<img id="foo" src="../Bilder/jamesjorg.jpg" alt="jamesjorg" border="0" height="300" width="221" align="right">
</div>
</td>
</tr>
<tr align="center" valign="middle" bgcolor="#FFFFFF">
<td id="zelle2" height="20px" colspan="6"><a href="impressum.html">Impressum</a></td>
</tr>
</table>
</div>

<p id="p1" style="color:#FFF; text-align:center; font-size:36px">Dornmayr</p>

<script type="text/javascript" src="../JavaScript/jquery-1.4.4.min.js">
</script>

<script type="text/javascript">
$player = $('<div/>').jPlayer({
swfPath: '../Flash/Jplayer.swf',
solution: 'html, flash',
supplied: 'mp3',
preload: 'metadata',
volume: 0.8,
muted: false,
errorAlerts: false,
warningAlerts: false,
ready: function () {
$(this).jPlayer('setMedia', {
mp3: '../Musik/JamesBond.mp3'
});
}
}).appendTo('body').css({width:'0', position:'absolute', left:'-999px'});

$('#foo').hover(function() {
$player.jPlayer('play');
}, function() {
$player.jPlayer('stop');

das ist jetzt mein ganzer code hab schon ne andere lösung gefunden die ich etwas mehr verstanden habe. doch die geht auch nicht
});
</script>

</body>
</html>
 
Du solltest nicht deinen Quellcode mit deinen Kommentaren unterbrechen ;)

Das Problem an diesem Code ist die jQuery-Einbindung am Ende des Quellcodes. Dort wird der Jplayer.swf direkt geladen und ausgeführt, wodurch die Musik sofort abspielt. Das entspricht also keineswegs dem was Du eigentlich willst.

Was meinst Du genau mit "onmouseover"? Was soll in dem Fall passieren? Soll es einen Sound geben? Wenn ja, dann das was "html001" geschrieben hast nahezu das richtige gewesen. Es müsste eigentlich so aussehen:

JavaScript:
Code:
<script> 
function play() { 
document.getElementById("musik").play(); 
} 
function stop() { 
document.getElementById("musik").stop(); 
} 
</script>

HTML:
Code:
<embed src="musik eingeben" id="musik" style="display: none;">
<img src="blabla.jpg"border="0" height="300" width="221" align="right" onmouseover="play()" onmouseout="stop()">

Siehe auch:
SELFHTML: JavaScript / Objektreferenz / embeds
 
Du solltest nicht deinen Quellcode mit deinen Kommentaren unterbrechen ;)

Das Problem an diesem Code ist die jQuery-Einbindung am Ende des Quellcodes. Dort wird der Jplayer.swf direkt geladen und ausgeführt, wodurch die Musik sofort abspielt. Das entspricht also keineswegs dem was Du eigentlich willst.

Was meinst Du genau mit "onmouseover"? Was soll in dem Fall passieren? Soll es einen Sound geben? Wenn ja, dann das was "html001" geschrieben hast nahezu das richtige gewesen. Es müsste eigentlich so aussehen:

JavaScript:
Code:
<script> 
function play() { 
document.getElementById("musik").play(); 
} 
function stop() { 
document.getElementById("musik").stop(); 
} 
</script>
HTML:
Code:
<embed src="musik eingeben" id="musik" style="display: none;">
<img src="blabla.jpg"border="0" height="300" width="221" align="right" onmouseover="play()" onmouseout="stop()">
Siehe auch:
SELFHTML: JavaScript / Objektreferenz / embeds
Tja, leider geht das nicht. Muss man das <embed> nicht beenden?
 
"Geht nicht" ist eine ungenügendstellende Fehlerbeschreibung. Was passiert denn? Gibt es JavaScript-Fehler in der JavaScript-Konsole? Mit welchem Browser testest Du?
 
"Geht nicht" ist eine ungenügendstellende Fehlerbeschreibung. Was passiert denn? Gibt es JavaScript-Fehler in der JavaScript-Konsole? Mit welchem Browser testest Du?
Ja, das ist das Problem es macht nichts. ;)
Ich hab mittlerweile noch ne andere Lösung gefunden aber die geht auch nicht vl. wisst ihr da warum:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Infos - Selbstpräsentation</title>
<style type="text/css">
a:link {
text-decoration: none;
color: #000000;
}
a:visited {
text-decoration: none;
color: #000000;
}
a:hover {
text-decoration: none;
color: #000000;
}
a:active {
text-decoration: none;
color: #000000;
}
</style>
</head>

<script type="text/javascript">
function changeBg(farbe)
{
document.getElementById('div1').style.backgroundColor = farbe;
document.getElementById('zelle1').style.backgroundColor = farbe;
document.getElementById('zelle2').style.backgroundColor = farbe;
document.getElementById('p1').style.color = farbe;
}

function schriftfarbe(sfarbe)
{
document.getElementById('div1').style.color = sfarbe;
}

function randfarbe(rfarbe)
{
document.getElementById('div2').style.borderColor = rfarbe;
}
</script>

<body id="div1">

<div id="div2" style="border:20px solid; border-color:rgb(191,255,255); height:400px; padding:62px; margin-top:55px" align="center">
<div id="div1" style="background-color:#CCCCCC; height:390px; width:180px; float:left; text-align:left; padding-left:5px; padding-top:5px;">
<div style="padding-left:25px; padding-top:20px">
Hintergrundfarbe:<br />
<input name="farbe" type="radio" value="red" onclick="changeBg(this.value)" /> Rot <br />
<input name="farbe" type="radio" value="green" onclick="changeBg(this.value)" /> Grün <br />
<input name="farbe" type="radio" value="blue" onclick="changeBg(this.value)" /> Blau <br />
<input name="farbe" type="radio" value="white" onclick="changeBg(this.value)" /> Weiß <br />

Schriftfarbe:<br />
<input name="sfarbe" type="radio" value="red" onclick="schriftfarbe(this.value)" /> Rot <br />
<input name="sfarbe" type="radio" value="green" onclick="schriftfarbe(this.value)" /> Grün <br />
<input name="sfarbe" type="radio" value="blue" onclick="schriftfarbe(this.value)" /> Blau <br />
<input name="sfarbe" type="radio" value="white" onclick="schriftfarbe(this.value)" /> Weiß <br />
<input name="sfarbe" type="radio" value="black" onclick="schriftfarbe(this.value)" />
Standard <br />

Rahmenfarbe:<br />
<input name="rfarbe" type="radio" value="red" onclick="randfarbe(this.value)" /> Rot <br />
<input name="rfarbe" type="radio" value="green" onclick="randfarbe(this.value)" /> Grün <br />
<input name="rfarbe" type="radio" value="blue" onclick="randfarbe(this.value)" /> Blau <br />
<input name="rfarbe" type="radio" value="white" onclick="randfarbe(this.value)" /> Weiß <br />
<input name="rfarbe" type="radio" value="rgb(191,255,255)" onclick="randfarbe(this.value)" /> Standard <br />
</div>
</div>

<table width="1037" height="431" border="0" align="right" cellpadding="0" cellspacing="0" bgcolor="#CCCCCC" valign="middle">
<tr style="color: #000000;" align="center" valign="middle">
<th width="81" height="23" scope="col">INFO</th>
<th width="68" scope="col"><a href="index.html">
<button>Home</button>
</a></th>
<th width="89" scope="col"><a href="wohnort.html">
<button>Wohnort</button>
</a></th>
<th width="97" scope="col"><a href="karriere.html">
<button>Karriere</button>
</a></th>
<th width="92" scope="col"><a href="hobbysbilder.html">
<button>Hobbys/Bilder</button>
</a></th>
<th width="159" scope="col"><a href="berufswunsch.html">
<button>Berufswunsch</button>
</a></th>
</tr>
<tr>
<td id="zelle1" height="10px" colspan="6" bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td id="div1" height="300" colspan="6">
<div style="padding-right:10px">
<img id="foo" src="../Bilder/dfgdfgdg" alt="fgdfgdgfdf" border="0" height="300" width="221" align="right"/>
</div>
</td>
</tr>
<tr align="center" valign="middle" bgcolor="#FFFFFF">
<td id="zelle2" height="20px" colspan="6"><a href="impressum.html">Impressum</a></td>
</tr>
</table>
</div>

<p id="p1" style="color:#FFF; text-align:center; font-size:36px"></p>

<script type="text/javascript" src="../JavaScript/jquery-1.4.4.min.js">
</script>

<script type="text/javascript" src="../JavaScript/jquery.jplayer.min.js">
</script>

<script type="text/javascript">
$player = $('<div/>').jPlayer({
swfPath: '../Flash/Jplayer.swf',
solution: 'html, flash',
supplied: 'mp3',
preload: 'metadata',
volume: 0.8,
muted: false,
errorAlerts: false,
warningAlerts: false,
ready: function () {
$(this).jPlayer('setMedia', {
mp3: '../Musik/JamesBond.mp3'
});
}
}).appendTo('body').css({width:'0', position:'absolute', left:'-999px'});

$('#foo').hover(function() {
$player.jPlayer('play');
}, function() {
$player.jPlayer('stop');
});
</script>

</body>
</html>
 
Diese Meldung
Code:
$ is not defined
kommt meist wenn die jquery-Datei nicht oder nicht korrekt eingebunden wurde. Diesen Hinweis findet man auch nach etwas googlen in diversen jquery-Foren, z.B. hier:
$ is not defined error - jQuery (English) | Google Groups

Also: füg die jquery-Datei wie es in der jquery-Anleitung steht im <head>-Bereich deiner Webseite ein.

Sollte auch das nicht helfen, stell einen Link zur betreffenden Seite zur Verfügung. Ständige umbauten helfen dir nicht weiter, wenn Du weiterhin nicht weißt wieso es überhaupt zu Fehlern kommt.
 
Diese Meldung
Code:
$ is not defined
kommt meist wenn die jquery-Datei nicht oder nicht korrekt eingebunden wurde. Diesen Hinweis findet man auch nach etwas googlen in diversen jquery-Foren, z.B. hier:
$ is not defined error - jQuery (English) | Google Groups

Also: füg die jquery-Datei wie es in der jquery-Anleitung steht im <head>-Bereich deiner Webseite ein.

Sollte auch das nicht helfen, stell einen Link zur betreffenden Seite zur Verfügung. Ständige umbauten helfen dir nicht weiter, wenn Du weiterhin nicht weißt wieso es überhaupt zu Fehlern kommt.
Ok, das mit dem not defined hatte was mit einem Link zu tun bei dem ein "s" fehlt. Es geht leider trotzdem nicht. Link zu meiner Seite kann ich nicht geben weil ich keinen habe bzw. nicht wüsste wo man es kostenlos auf einen Server platzieren kann.
 
Bitte immer in die Fehlerkonsole gucken.
Und ich weiss nicht wie das plugin funktioniert aber deke man sollte es so machen:
Code:
<script type="text/javascript">
var player = $('<div/>').jPlayer({
    swfPath: '../Flash/Jplayer.swf',
    solution: 'html, flash',
    supplied: 'mp3',
    preload: 'metadata',
    volume: 0.8,
    muted: false,
    errorAlerts: false,
    warningAlerts: false,
    ready: function () {
        $(this).jPlayer('setMedia', {
            mp3: '../Musik/JamesBond.mp3'
        });
    }
}).appendTo('body').css({width:'0', position:'absolute', left:'-999px'});

$('#foo').hover(function() {
    $(player).jPlayer('play');
}, function() {
    $(player).jPlayer('stop');
});
</script>
Ob es funktioniert weiss ich nicht. Kann es mir aber vorstellen :)

---

Bitte demnächst auch immer die Code-Tags benutzen. Siehe 2. Signatur Link von mir
 
Ok, danke für die Tag-Info aber der Code geht immer noch nicht. Langsam wirds eng ich muss das nämlich am Freitag präsentieren.
 
Damit hast du jetzt nicht wirklich weiter geholfen? Was steht in der Fehlerkonsole? Sind alle Dateien im richtigen Ordner? Was funktioniert bisher und was nicht? Ausschlussverfahren ist hier angesagt. Schließe aus, was die geschichte kaputt macht.
 
Also ich kann ausschließen:
das die Links falsch sind
das es das falsche plugin ist


Ich kann nicht ausschließen:
das ein Fehler im Code ist
das der Code an der falschen Stelle liegt


In der Fehlerconsole wird kein Fehler angezeigt. Es funktioniert alles nur eben das onMouseOver-Event bzw. das onMouseOut-Event nicht. Alle Dateien haben die richtigen Angaben und sind richtig platziert.
 
so, geschafft. was komisch ist, es liegt am flashfile. es steht dort:
HTML:
swfPath: '../Flash/Jplayer.swf'
aber es muss
HTML:
swfPath: '../Flash'
dortstehen. seid mir nicht böse, aber ich wusste nicht das man die nicht auswählen darf.
 
Zurück
Oben