Avatar billede lund_dk Praktikant
20. maj 2007 - 21:02 Der er 4 kommentarer og
1 løsning

Rating function med mouseover

http://www.arto.dk/section/club/ClubInfo.aspx?id=95143&TabPage=Forum&TabContent=ViewThread&ThreadID=427165

Prøv at se her, der kan man bedømme en besvarelse, ved at føre musen over stjernerne..

Samme funktion er det jeg efterspørger, hvordan jeg løser et sådan script når man fører musen hen over, viser den stjerne 1,2,3,4 5 osv..
Avatar billede lund_dk Praktikant
20. maj 2007 - 21:15 #1
Har fundet frem til denne her som virker.

Men nogen som mon lige vil kigge den igennem om koden er holdbar?

<script language="JavaScript">
    <!--
    function StarChange(Star) {
      if (Star==-1) {Star=anmeld.rating.value}
        else {if (document.forms.anmeld.rating.value==Star) {Star=0}};
      document.forms.anmeld.rating.value==Star;
      if (Star>=1) {document.getElementById('Star1').src='images/stjerne_on.gif'} else {document.getElementById('Star1').src='images/stjerne_off.gif'};
      if (Star>=2) {document.getElementById('Star2').src='images/stjerne_on.gif'} else {document.getElementById('Star2').src='images/stjerne_off.gif'};
      if (Star>=3) {document.getElementById('Star3').src='images/stjerne_on.gif'} else {document.getElementById('Star3').src='images/stjerne_off.gif'};
      if (Star>=4) {document.getElementById('Star4').src='images/stjerne_on.gif'} else {document.getElementById('Star4').src='images/stjerne_off.gif'};
      if (Star>=5) {document.getElementById('Star5').src='images/stjerne_on.gif'} else {document.getElementById('Star5').src='images/stjerne_off.gif'};
   
  }
    //-->
</script>

    <form class="anmeld" id="anmeld" name="anmeld" method="get">

          <img ID="Star1" src="images/stjerne_off.gif" border="0" onmouseover="Jscript:StarChange(1);" title="1 Stjerne">
          <img ID="Star2" src="images/stjerne_off.gif" border="0" onmouseover="Jscript:StarChange(2);" title="2 Stjerner">
          <img ID="Star3" src="images/stjerne_off.gif" border="0" onmouseover="Jscript:StarChange(3);" title="3 Stjerner">
          <img ID="Star4" src="images/stjerne_off.gif" border="0" onmouseover="Jscript:StarChange(4);" title="4 Stjerner">
          <img ID="Star5" src="images/stjerne_off.gif" border="0" onmouseover="Jscript:StarChange(5);" title="5 Stjerner">
          <input name="rating" type="hidden" value=0 id="rating">

</form>
Avatar billede lund_dk Praktikant
20. maj 2007 - 21:17 #2
Den skal faktisk også opsættes således, jeg kan have eks 10 aktive.. så hver skal hav sit egen ID, nogen der kan klare det for mig?


Dvs man skal kunne bedømme id 10, 11, 12 osv..
Avatar billede w13 Novice
20. maj 2007 - 21:20 #3
Jeg synes selv, denne kode er meget fleksibel. Og 7910-7914 indikerer id's.
---------------------------------------------------------
<script language="JavaScript" type="text/JavaScript">
function colorStar(img,id) {
    var image = img.alt;
    var i = 1;
    var stars = 0;
    while(i <= image){
        document.getElementById('star' + i + '_' + id).src = '/images/star_yellow.gif';
        i++;
        stars++;
    }
    while(i > image && i <= 5){
        document.getElementById('star' + i + '_' + id).src =  '/images/star_grey.gif';
        i++;
    }
}
</script>

<img alt="1" id="star1_7910" src="/images/star_grey.gif" onmouseover="colorStar(this,7910);">
<img alt="2" id="star2_7911" src="/images/star_grey.gif" onmouseover="colorStar(this,7911);">
<img alt="3" id="star3_7912" src="/images/star_grey.gif" onmouseover="colorStar(this,7912);">
<img alt="4" id="star4_7913" src="/images/star_grey.gif" onmouseover="colorStar(this,7913);">
<img alt="5" id="star5_7914" src="/images/star_grey.gif" onmouseover="colorStar(this,7914);">
Avatar billede lund_dk Praktikant
20. maj 2007 - 21:42 #4
Jeg fandt en perfekt kode andet sted, som jeg benytter u stedte,,
Avatar billede w13 Novice
20. maj 2007 - 21:45 #5
I orden! :)

Til andres info, så skal min kode ikke være som ovenstående, men som nedenstående for at virke:
----------------------------------------------------
<html>
<head>
<script language="JavaScript" type="text/JavaScript">
function colorStar(img,id) {
    img = img.alt;
    var i = 1;
    while(i <= img) {
        document.getElementById('star' + i + '_' + id).src='images/star_yellow.gif';
        i++;
    }
    while(i > img && i <= 5){
        document.getElementById('star' + i + '_' + id).src='images/star_grey.gif';
        i++;
    }
}
</script>
</head>
<body>

<img alt="1" id="star1_7910" src="images/star_grey.gif" onmouseover="colorStar(this,7910);">
<img alt="2" id="star2_7910" src="images/star_grey.gif" onmouseover="colorStar(this,7910);">
<img alt="3" id="star3_7910" src="images/star_grey.gif" onmouseover="colorStar(this,7910);">
<img alt="4" id="star4_7910" src="images/star_grey.gif" onmouseover="colorStar(this,7910);">
<img alt="5" id="star5_7910" src="images/star_grey.gif" onmouseover="colorStar(this,7910);">

<br>

<img alt="1" id="star1_7911" src="images/star_grey.gif" onmouseover="colorStar(this,7911);">
<img alt="2" id="star2_7911" src="images/star_grey.gif" onmouseover="colorStar(this,7911);">
<img alt="3" id="star3_7911" src="images/star_grey.gif" onmouseover="colorStar(this,7911);">
<img alt="4" id="star4_7911" src="images/star_grey.gif" onmouseover="colorStar(this,7911);">
<img alt="5" id="star5_7911" src="images/star_grey.gif" onmouseover="colorStar(this,7911);">

</body>
</html>
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