Link to home
Start Free TrialLog in
Avatar of NannaG
NannaG

asked on

javascript code error

I think I have looked at this took long because I cannot find my error - I believe the error is in the 1st js file - When I try to open htm file I see formatting etc but I do not see the 1-10 items
Could someone please take a look - any help or direction is appreciated.
 experts-exch-question.docx
Avatar of cyberkiwi
cyberkiwi
Flag of New Zealand image

First js file.
You have 2 cases where normal"  had no starting double-quote.
1 case where rgb...)" has an extra double quote at the end.
1 case where "rgb...)" has double quotes at the beginning and end.
function eventSource(e) {
   var IE=document.attachEvent ? true:false;
   var DOM=document.addEventListener ? true: false;
   if (IE) return event.srcElement;
   else if (DOM) return e.currentTarget;
}

function setUpTranslation() { 
var phrases=document.getElementsByTagName ("p");
for (var i=0; i < phrases.length; i++) {
phrases[i].number = i; 
phrases[i].childNodes[1].innerHTML = french[i];
phrases[i].childNodes[1].style.fontStyle = "italic";
phrases[i].childNodes[1].style.color = "#000";

phrases[i].onmousedown=function() {
this.childNodes[1].innerHTML=english[this.number];
this.childNodes[1].style.fontStyle= "normal";
this.childNodes[1].style.color= rgb(155, 102, 102);
}
phrases[i].onmouseup=function() {
this.childNodes[1].innerHTML=french[this.number];
this.childNodes[1].style.fontStyle="italic";
thischildNodes[1].style.color="#000";
}
}
}

function swapFE(e) {
var phrase=eventSource(e);
if (IE) phrase.attachEvent("on"+ mousedown, swapFE);
else if (DOM) phrase.addEventListener(onmousedown, swapFE, false);
var phrasenum=parseInt (phrase.innerHTML.previousSibling);
phrase.innerHTML.nodeValue=english[phrasenum - 1];
phrase.style.fontStyle="normal";
phrase.style.color=rgb(155, 102, 102);
}


function swapEF(e) {
var phrase=eventSource(e);
if (IE) phrase.attachEvent("on"+ mouseup, swapEF);
else if (DOM) phrase.addEventListener(onmouseup, swapEF, false);
var phrasenum=parseInt (phrase.innerHTML.previousSibling);
phrase.innerHTML.nodeValue=french [phrasenum - 1];
phrase.style.fontStyle="italic";
phrase.style.color="black";
}

Open in new window

Actually, the double-quotes are correct.
It should be

2 cases where normal"  had no starting double-quote.
1 case where rgb...)" had no starting double-quote.

function eventSource(e) {
   var IE=document.attachEvent ? true:false;
   var DOM=document.addEventListener ? true: false;
   if (IE) return event.srcElement;
   else if (DOM) return e.currentTarget;
}

function setUpTranslation() { 
var phrases=document.getElementsByTagName ("p");
for (var i=0; i < phrases.length; i++) {
phrases[i].number = i; 
phrases[i].childNodes[1].innerHTML = french[i];
phrases[i].childNodes[1].style.fontStyle = "italic";
phrases[i].childNodes[1].style.color = "#000";

phrases[i].onmousedown=function() {
this.childNodes[1].innerHTML=english[this.number];
this.childNodes[1].style.fontStyle= "normal";
this.childNodes[1].style.color= "rgb(155, 102, 102)";
}
phrases[i].onmouseup=function() {
this.childNodes[1].innerHTML=french[this.number];
this.childNodes[1].style.fontStyle="italic";
thischildNodes[1].style.color="#000";
}
}
}

function swapFE(e) {
var phrase=eventSource(e);
if (IE) phrase.attachEvent("on"+ mousedown, swapFE);
else if (DOM) phrase.addEventListener(onmousedown, swapFE, false);
var phrasenum=parseInt (phrase.innerHTML.previousSibling);
phrase.innerHTML.nodeValue=english[phrasenum - 1];
phrase.style.fontStyle="normal";
phrase.style.color="rgb(155, 102, 102)";
}


function swapEF(e) {
var phrase=eventSource(e);
if (IE) phrase.attachEvent("on"+ mouseup, swapEF);
else if (DOM) phrase.addEventListener(onmouseup, swapEF, false);
var phrasenum=parseInt (phrase.innerHTML.previousSibling);
phrase.innerHTML.nodeValue=french [phrasenum - 1];
phrase.style.fontStyle="italic";
phrase.style.color="black";
}

Open in new window

Avatar of NannaG
NannaG

ASKER

Ok, I made those corrections, Thank You,  but I still do not see my content - Pleae see the attached img
IMG.docx
I haven't been through all your source code, but this line stands out for two reasons:

phrase.innerHTML.nodeValue=french [phrasenum - 1];


phrase.innerHTML will be fine.. you don't need "nodeValue"
and the space between "french" and the square brackets has to go.

In the English half of it:
phrase.innerHTML.nodeValue=english[phrasenum - 1];


just remove the "nodeValue"
Avatar of NannaG

ASKER

I've made the additional nodevalue removal - no changes though ??
can we see where you instantiate and populate the french and english arrays?
ASKER CERTIFIED SOLUTION
Avatar of cyberkiwi
cyberkiwi
Flag of New Zealand image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of NannaG

ASKER

I am reviewing my files also, do I need to send you anything other files - I have .css also
Avatar of NannaG

ASKER

Hum?  Do you think this is a browser issue? I'm using vista,  IE 7
Avatar of NannaG

ASKER

Well I'll be!! I changed to my laptop , Windows 7 and guess what - yep - it does work: Thank you so much for taking your time to assist me. Your Great!!
I was just firing up Windows 2008 and IE8 to have a look, but I'm glad it worked out for you.

Regards