Как объединить эти две функции JavaScript? - PullRequest
0 голосов
/ 16 марта 2010
var curtext = "View large image";
function changeSrc() {
    if (curtext == "View large image") {
        document.getElementById("boldStuff").innerHTML = "View small image";
        curtext="View small image";
    } else {
        document.getElementById("boldStuff").innerHTML = "View large image";
        curtext = "View large image";
    }
}

var curimage = "cottage_small.jpg";
function changeSrc() {
    if (curimage == "cottage_small.jpg") {
        document.getElementById("myImage").src = "cottage_large.jpg";
        curimage = "cottage_large.jpg";
    } else {
        document.getElementById("myImage").src = "cottage_small.jpg";
        curimage = "cottage_small.jpg";
    }
}
</script>
</head>

<body>
<!-- Your page here -->
<h1> Pink Knoll Properties</h1>
<h2> Single Family Homes</h2>

<p> Cottage:<strong>$149,000</strong><br/>
    2 bed, 1 bath, 1,189 square feet, 1.11 acres <br/><br/>
 <a href="#" onclick="changeSrc()"><b id="boldStuff" />View large image</a></p>  
 <p><img id="myImage" src="cottage_small.jpg" alt="Photo of a cottage"  /></p> 
</body>

Мне нужна помощь, как поставить как одну функцию с двумя аргументами? Это означает, что при нажатии изображение и текст будут изменены. Спасибо! Бьянка

Ответы [ 2 ]

0 голосов
/ 16 марта 2010

Создайте новую функцию, которая вызывает их обоих, и переименуйте в нечто уникальное.

var changeCombined = function() {
    changeTxt();
    changeSrc();
};

function changeTxt() {
    var node = document.getElementById("boldStuff");

    if ( node.innerHTML == "View large image") {
        node.innerHTML = "View small image";
    } else {
        node.innerHTML = "View large image";
    }
}

function changeSrc() {
    var image = document.getElementById("myImage");

    if ( image.src == "cottage_small.jpg") { 
        image.src = "cottage_large.jpg";
    } else {
        image.src = "cottage_small.jpg";
    }
}

Это также устраняет вашу зависимость от глобальных переменных.

0 голосов
/ 16 марта 2010
function combined(curtext, curimage){
  if(curtext == "View large image"){
      document.getElementById("boldStuff").innerHTML = "View small image";
        curtext="View small image"; 
      }
      else{
       document.getElementById("boldStuff").innerHTML= "View small image";
           curtext="View large image";    
  }
  if(curimage == "cottage_small.jpg"){
       document.getElementById("myImage").src="cottage_large.jpg";
       curimage="cottage_large.jpg";
        }
      else{
       document.getElementById("myImage").src="cottage_large.jpg";    
       curimage="cottage_small.jpg";
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...