Bruge samme stykke Javascript 2 steder - how?
Hejsa.Jeg har et stykke javascript som printer noget database indhold ud til skærmen og fader det frem og væk.
Det script vil jeg gerne benytte 2 steder på samme side, men hvis jeg gør det vil ikke virke.
Lige meget hvad jeg prøver that is.
Koden for dofade.asp:
*************************
<script type="text/javascript">
var liste = new Array();
var fadeLayers = ["l1","l2"];
var fadeIndex = 100;
var isIE = true;
var ifmWin;
var messageTimer;
function setWindow(objWin) {
ifmWin = objWin;
}
function addSMS(html) {
liste[liste.length] = html;
}
window.onload = function() {
fadeIndex = 0;
fadeLayer(10);
isIE = window.navigator.appVersion.indexOf('MSIE') > -1;
}
function showHelp() {
clearTimeout(messageTimer);
document.getElementById(fadeLayers[1]).innerHTML = '<div id="navn">SMS til 1919 -<br />Maks 160 tegn.</div><div id="besked">Send en SMS til 1919 med indeholdet:<br />onSMS din besked (10,-)<br />Eksempel: "onSMS Hej alle. Kig forbi min profil"<br /><br /><strong>Bemærk:</strong><br />Hvis du har angivet dit mobil nummer i din profil vil din besked blive vist sammen med dit profil navn og billede.</div>';
fadeIndex = 100;
fadeLayer(10);
return true;
}
function fadeLayer(fadeDelay) {
if(fadeIndex > 0) {
// skift opacity med 5% i hver retning for de 2 lag
fadeIndex -= 5;
if(isIE) {
// fade det aktive lag ned
document.getElementById(fadeLayers[0]).style.filter = "alpha(opacity=" + fadeIndex + ")";
// fade det skjulte lag op
document.getElementById(fadeLayers[1]).style.filter = "alpha(opacity=" + parseInt(100-fadeIndex) + ")";
}
else {
// fade det aktive lag ned
document.getElementById(fadeLayers[0]).style.opacity = (fadeIndex/100).toString();
// fade det skjulte lag op
document.getElementById(fadeLayers[1]).style.opacity = (1-parseFloat(fadeIndex/100)).toString();
}
messageTimer = setTimeout("fadeLayer()", 25);
}
else {
// byt rundt på lagene ved at flytte den første ned til sidst i listen
fadeLayers.push(fadeLayers.shift());
if(liste.length < 3 && ifmWin) ifmWin.location.reload(true);
// indsæt html for den næste sms og slet den fra sms-listen
document.getElementById(fadeLayers[1]).innerHTML = liste.shift();
// sæt fadeIndex så den er klar næste gang der skal fades
fadeIndex = 100;
// sæt tiden for næste fade
messageTimer = setTimeout("fadeLayer()", (fadeDelay?fadeDelay:10000)); // 3 sekunder bare for testens skyld
}
}
</script>
<iframe src="../shoutouts/fadescript.asp" id="fadetekster" height="0" width="0" style="display:none;"></iframe>
<div style="position:relative">
<div id="l1" style="position:absolute;left:0;top:0;width:140px;height:150px;filter:alpha(opacity=0);opacity:0"></div>
<div id="l2" style="position:absolute;left:0;top:0;width:140px;height:150px;filter:alpha(opacity=0);opacity:0"></div>
</div>
Koden for fadescript.asp:
**************************
<SCRIPT type="text/javascript">
//window.setTimeout("location.reload();", 5500);
</SCRIPT>
<!-- #include file="../includes/sql.inc" -->
<%
sql = "select * from beskedbox_test order by id DESC limit 15"
set rs = conn.execute(sql)
%>
<script type="text/javascript">
parent.setWindow(window);
<%
if not rs.bof or rs.eof then
do until rs.eof
besked = right(rs("besked"), len(rs("besked"))-6)
nummer = rs("nummer")
if nummer <> "" then
sqlnum = "select * from Members,profil_billede where Members.MemberID=profil_billede.BEID and Members.Telefon="&nummer&""
set rsnum = conn.execute(sqlnum)
end if
if rsnum.bof or rsnum.eof then
nick = "<a href=\'\'>Opret Profil</a>"
pic = "../images/shoutouts/saadan.gif"
else
nick = "<a href=\'\'>"&rsnum("nickname")&"</a>"
if rsnum("pic") <> "" and rsnum("Billede_Profil") = 1 then
pic = rsnum("pic")
else
pic = "../images/shoutouts/no_picture.gif"
end if
end if
%>
parent.addSMS('<div id="billede"><img src="<%=pic%>" width="125" height="100" /></div><div id="navn"><%=nick%></div><div id="besked"><%=besked%></div><a href="#" onclick="showHelp(); return false;"><div id="howto">Sådan gør du</div></a>');
<%
rs.movenext
loop
end if
%>
</script>
**************************************
Så sagen er. Hvordan kan jeg benytte ovenstående scripts 2 gange på samme side til 2 forskellige ting?
Hvis jeg bare laver et kopi af hver fil og kalder dem noget andet så kommer der jo en konflikt da der er de samme funktions navne osv.
Håber ikke det er alt for uoverskueligt og at i kan hjælpe da jeg er lidt i tidspres :)
PS:
Det skal siges at jeg inkluderer ovenstående scripts på en 3. side vha <!-- #include file="" --> og det jo så er derfor der kommer konflikter hvis jeg inkluderer en fil med samme kode da der er samme funktions navne :)