Avatar billede HelligKebab Nybegynder
25. oktober 2011 - 11:44 Der er 7 kommentarer og
1 løsning

Tilføje html kode til .js fil

Hej.

Jeg har et par .js sider som en venlig sjæl lavede i sin tid. Nu vil jeg gerne tilføje en lille detalje, men jeg fatter omkring 2% af det her.

Jeg vil gerne have, at når man fører musen over det link til /playerfile/, så kommer der er en pop-up boks med /head2head.html i stedet.

Jeg har fundet en måde at gøre det på i html her http://www.azroc.co.uk/javascript/js_popup_window.php - men hvordan får jeg det ind i denne fil?

Kig nede ved "http://www.nba.com/playerfile" delen. Når vi i vores html-artikel eksempelvis skriver Dwight Howard, så laver den automatisk linket til http://www.nba.com/home/playerfile/dwight_howard/index.html - det skal den blive ved med, men pop up boksen skal så være http://www.nba.com/home/playerfile/dwight_howard/head2head.html.

var SalarySub = [['LØN FOR AKTIV ROSTER','','','','','0','0','0'],['LØN FOR AKTIV ROSTER','','','','','0','0','0']];
var WaiverTot = [['WAIVER FEE','','','','','0','0','0'],['WAIVER FEE','','','','','0','0','0']];
var SalaryTot = [['SAMLET LØN','','','','','0','0','0'],['SAMLET LØN','','','','','0','0','0']];
var SalaryCap = [['SALARY CAP','','','','','0','0','0'],['SALARY CAP'    ,'','','','','70416000','70416000','70416000']];
var Capspace  = [['RÅDIGHEDSBELØB', '','','','','0','0','0'],['RÅDIGHEDSBELØB'  ,'','','','','0','0','0']];

function CalculateSubSalaries() {
  SalarySub[1][5] = 0;
  SalarySub[1][6] = 0;
  SalarySub[1][7] = 0;
  for (p=1; p<PlayersObj.length; p++) {
    SalarySub[1][5] += Number(PlayersObj[p][5]);
    SalarySub[1][6] += Number(PlayersObj[p][6]);
    SalarySub[1][7] += Number(PlayersObj[p][7]);
  }
}

function CalculateTotWaiver() {
  WaiverTot[1][5] = 0;
  WaiverTot[1][6] = 0;
  WaiverTot[1][7] = 0;
  for (p=1; p<WaiverObj.length; p++) {
    WaiverTot[1][5] += Number(WaiverObj[p][5]);
    WaiverTot[1][6] += Number(WaiverObj[p][6]);
    WaiverTot[1][7] += Number(WaiverObj[p][7]);
  }
}

function CalculateTotSalaries() {
  SalaryTot[1][5] = 0;
  SalaryTot[1][6] = 0;
  SalaryTot[1][7] = 0;
  for (p=1; p<WaiverObj.length; p++) {
    SalaryTot[1][5] += Number(WaiverObj[p][5]);
    SalaryTot[1][6] += Number(WaiverObj[p][6]);
    SalaryTot[1][7] += Number(WaiverObj[p][7]);
  }
  SalaryTot[1][5] = SalaryTot[1][5]+Number(SalarySub[1][5]);
  SalaryTot[1][6] = SalaryTot[1][6]+Number(SalarySub[1][6]);
  SalaryTot[1][7] = SalaryTot[1][7]+Number(SalarySub[1][7]);
}     

function CalculateSalaryCapspace() {
  Capspace[1][5] = 0;
  Capspace[1][6] = 0;
  Capspace[1][7] = 0;
  for (p=1; p<WaiverObj.length; p++) {
    Capspace[1][5] += Number(WaiverObj[p][5]);
    Capspace[1][6] += Number(WaiverObj[p][6]);
    Capspace[1][7] += Number(WaiverObj[p][7]);
  }
  Capspace[1][5] = SalaryCap[1][5]-Number(SalaryTot[1][5]);
  Capspace[1][6] = SalaryCap[1][6]-Number(SalaryTot[1][6]);
  Capspace[1][7] = SalaryCap[1][7]-Number(SalaryTot[1][7]);
}     

function ShowInfo(RecInfo,posn,flag,InfoType) {
  var Info = RecInfo[posn];
  var str = '<tr class="rowW">';
  if (flag) { str = '<tr class="rowB">'; }
  switch (InfoType) {
    case "Player":
      var tmp = Info[0].toLowerCase();       
      tmp = tmp.replace(' ','_');
      str += '<td><a href="http://www.nba.com/playerfile/';
      str += tmp+'/index.html">';
      str += Info[0]+'</a></td>';
      for (var i=1; i<2; i++) { str += '<td>'+Info[i]+'</td>'; }
      for (var i=2; i<5; i++) { str += '<td>'+'<center>'+Info[i]+'<center>'+'</td>'; }
      break;
    case 'SalaryCap':
      str += '<td><u>'+Info[0]+'</u></td>';
      for (var i=1; i<5; i++) { str += '<td><b>'+Info[i]+'</b></td>'; }
      break;
    case 'SalarySub':
    case 'Capspace':
      str += '<td><b>'+Info[0]+'</b></td>';
      for (var i=1; i<5; i++) { str += '<td><b>'+Info[i]+'</b></td>'; }
      break;
    default:
      str += '<td>'+Info[0]+'</td>';
      for (var i=1; i<2; i++) { str += '<td>'+Info[i]+'</td>'; }
      for (var i=2; i<5; i++) { str += '<td><center>'+Info[i]+'<center></td>'; }
    break;
  }
  for (var i=5; i<8; i++) {
    if (posn == 0) {
      if (Info[i] < 0) { str += '<td class="padRtR">'+Info[i]+'</td>';  }
                  else { str += '<td class="padRt">'+Info[i]+'</td>'; }
    } else {
      if (Info[i] < 0) { str += '<td class="padRtR">'+addcommas(Info[i])+'</td>';  }
                  else { str += '<td class="padRt">'+addcommas(Info[i])+'</td>'; }
    }
  }
  str += '</tr>';
  return str;
}

function addcommas( sValue ) {
  sValue = sValue.toString();
  var sRegExp = new RegExp('(-?[0-9]+)([0-9]{3})');
  while(sRegExp.test(sValue)) {
      sValue = sValue.replace(sRegExp, '$1.$2');
  }
  return sValue;
}


function ShowInfo4c(RecInfo,posn,InfoType) {
  var Info = RecInfo[posn];
  var str = '<tr class="rowW">';
  switch (InfoType) {
    case 'Picks':
      for (var i=0; i<4; i++) { str += '<td><center>'+Info[i]+'</center></td>'; }
      break;
  }
  str += '</tr>';
  return str;
}
Avatar billede olebole Juniormester
25. oktober 2011 - 16:28 #1
<ole>

At åbne en popup på mouseover er aldrig at anbefale. Der er et ikke ubetydeligt delay, før vinduet viser sig, og det vil irritere enhver bruger.

Derudover er det svært at råde udfra en JS-fil alene

/mvh
</bole>
Avatar billede HelligKebab Nybegynder
25. oktober 2011 - 16:37 #2
Ole:

Det er en lille lukket hjemmeside for NBA fantasy - vi er kun 20 der bruger den, og alle ønsker denne funktion :-).

Den bringer nemlig en spillers statistikker frem nemt, og lukker igen nemt.

Jeg fandt ud af at jeg skulle indsætte den første del således:

function openPopUp(URL) {

new_window = window.open(URL, 'window',
'toolbar=0,scrollbars=0,location=0, statusbar=0,menubar=0,resizable=0,width=237,height=348,left = 443.5,top = 310');
}

function closePopUp() {

new_window.close();

}

Så mangler jeg bare at få ordnet linket :-).
Avatar billede HelligKebab Nybegynder
25. oktober 2011 - 18:46 #3
Bare lige for god ordens skyld, så er det dette der skal ind i linket på en måde:

onMouseOver=" openPopUp('/head2head.html')" onMouseOut=" closePopUp('/head2head.html')"

Så den får det der str += tmp+ ind foran /head2head.html.
Avatar billede majbom Novice
27. oktober 2011 - 08:13 #4
var det så ikke bedre med et tooltip?

http://www.dhtmlgoodies.com/index.html?page=tooltip
Avatar billede olebole Juniormester
27. oktober 2011 - 15:47 #5
Jo, et popup vindue er afgjort en skidt løsning ved mouseover/-out
Avatar billede HelligKebab Nybegynder
27. oktober 2011 - 17:59 #6
Ok, men hvordan får man så smidt sådan en fætter ind i en .js fil?

Jeg er lidt blank må jeg nok tilstå :-).
Avatar billede majbom Novice
31. oktober 2011 - 08:06 #7
se #4
Avatar billede HelligKebab Nybegynder
01. december 2011 - 18:03 #8
Jeg kom desværre ikke nærmere en løsning. Men tak for jeres inputs.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Saab Danmark A/S

Senior Software Developer

Kalundborg Kommune

Data Scientist / udvikler

Udviklings- og Forenklingsstyrelsen

Scrum Master