mouseover
Maecenas
- javascript
0 EKKi0 ASP vs. ICE0 Maecenas
0 Keule1 molily
Ist es möglich mit JavaScript oder CSS einen mouseover einen Sound abspielen lassen, der aber nicht aufhört sobald man den Text/Grafik mit der Maus verlässt?
Mahlzeit Maecenas,
Ist es möglich mit JavaScript oder CSS einen mouseover einen Sound abspielen lassen, der aber nicht aufhört sobald man den Text/Grafik mit der Maus verlässt?
In meinem Browser nicht. Und darüber bin ich auch ganz froh.
MfG,
EKKi
In meinem Browser nicht. Und darüber bin ich auch ganz froh.
Schön. Für Dich!
Der Sound ist nur ca 5 sec lang deswegen kein Tinitus :P
Ausser natürlich man kommt ständig drauf. Hab jetzt schon einige Scripts ausprobiert aber bis jetzt haben alle mit Firefox nicht funktioniert.
Im Moment versuche ich gerade die Fehler von dem Script zu finden dass ich aktuell benutze. Ist nur noch eine Fehlermeldung übrig aber an der komm ich nicht weiter. Das Script sieht so aus:
<script LANGUAGE="JavaScript">
<!--
// Preload and play audio files with event handler (MouseOver sound)
// designed by JavaScript Archive, (c)1999
// Get more free javascripts at [url]http://jsarchive.8m.com[/url]
var aySound = new Array();
// Below: source for sound files to be preloaded
aySound[0] = "hero.wav";
whsound = "hero.wav";
// DO NOT edit below this line
document.write('<BGSOUND ID="auIEContainer">')
IE = (navigator.appVersion.indexOf("MSIE")!=-1 && document.all)? 1:0;
NS = (navigator.appName=="Netscape" && navigator.plugins["LiveAudio"])? 1:0;
ver4 = IE||NS? 1:0;
onload=auPreload;
function auPreload() {
if (!ver4) return;
if (NS) auEmb = new Layer(0,window);
else {
Str = "<DIV ID='auEmb' STYLE='position:absolute;'></DIV>";
document.body.insertAdjacentHTML("BeforeEnd",Str);
}
var Str = '';
for (i=0;i<aySound.length;i++)
Str += "<EMBED SRC='"+aySound[i]+"' AUTOSTART='FALSE' HIDDEN='TRUE'>"
if (IE) auEmb.innerHTML = Str;
else {
auEmb.document.open();
auEmb.document.write(Str);
auEmb.document.close();
}
auCon = IE? document.all.auIEContainer:auEmb;
auCon.control = auCtrl;
}
function auCtrl(whsounds,play) {
if (IE) this.src = play? aySound[whsound]:'';
else eval("this.document.embeds[whsound]." + (play? "play()":"stop()"))
}
function playSound(whsound) { if (window.auCon) auCon.control(whSound,true); }
function stopSound(whsound) { if (window.auCon) auCon.control(whSound,false); }
//-->
</script>
Unten im body steht dann:
<a href="Homepage.html" onMouseOver="playSound(hero.wav)" onMouseOut="stopSound(hero.wav)">Sound</a>
Da soll fürs erste keine Homepage draus werden das ist nur als Bsp gedacht damit ich es dann später übertragen kann.
Laut Fehlerkonsole heißt es "Hero is not defined" sobald ich mit der mouse über den Link komme.
mfg
Lieber Maecenas,
<script LANGUAGE="JavaScript">
pfui bäh! Das "language"-Attribut ist längst deprecated! Benutze das type-Attribut!
aySound[0] = "hero.wav";
whsound = "hero.wav";
Wave-Dateien sind so groß im Verhältnis zu MP3. Warum muss es denn Wave sein?
onMouseOver="playSound(hero.wav)"
onMouseOut="stopSound(hero.wav)"
Aha. Dann vergleiche einmal Deine Notation in den Eventhandlern mit Deiner Notation bei der Definition Deiner Sounds weiter oben (siehe mein Zitat)! Fällt Dir etwas auf? Kleiner Tipp:
objekt.eigenschaft != "objekt.eigenschaft";
Und warum notierst Du die Dateien überhaupt direkt im Eventhandler, wenn Du doch in Deinem Script zweimal eine Variable mit den Dateinamen fütterst?
Liebe Grüße,
Felix Riesterer.
So eine Art Tinitus ohne Interruptus ?
Lieber molily,
gleich gebookmarked. DANKE!
Liebe Grüße,
Felix Riesterer.