Обмен изображениями - Uncaught TypeError: Невозможно установить свойство 'sr c' из null - PullRequest
0 голосов
/ 19 февраля 2020

Я работаю над учебником для класса, как обычно для практики. В настоящее время я работаю над страницей обмена изображениями, где нажатие на миниатюру «меняет» основное изображение. Изображения при нажатии увеличиваются, как если бы это была ссылка на другую веб-страницу. Мой код точно такой же, как и в книге, но я получаю ошибку. Код:

var $ = function(id){
return document.getElementById(id);
};

window.onload = function(){
var listNode = $("image_list");
var captionNode = $("caption");
var imageNode = $("main_image");

var imageLinks = listNode.getElementsByTagName("a");

// process image links
var i, image, linkNode, link;
for (i = 0; i < imageLinks.length; i++){
    linkNode = imageLinks[i];

    // preload image
    image = new Image();
    image.src = linkNode.getAttribute("href");

    // attach event handler
    linkNode.onclick = function(evt){
        link = this;  // "this" is the link that was clicked

        // set new image and caption
        // the image selected is the "href" and the caption is the title of each image link
        imageNode.src = link.getAttribute("href");
        captionNode.firstChild.nodeValue = link.getAttribute("title");

        // cancel the default action of the event
        if (!evt){
            evt = window.event;
        }
        if (evt.preventDefault){
            evt.preventDefault();
        }else{
            evt.returnFalse = false;
        }
    };
}
// set focus on first image link
imageLinks[0].focus();

}; `

Ошибка выдается на imageNode.src = link.getAttribute("href"); Мой HTML:

<body>
        <h1>Image Swap With JavaScript</h1>
        <p>Click on an image to enlarge.</p>
        <ul id="image_list">
            <li><a href="images/photo1.jpg" title="Golden Gate">
                <img src="thumbnails/thumb1.jpg" alt=""></a></li>
            <li><a href="images/photo2.jpg" title="Rocky Coast">
                <img src="thumbnails/thumb2.jpg" alt=""></a></li>
            <li><a href="images/photo3.jpg" title="Ocean Side">
                <img src="thumbnails/thumb3.jpg" alt=""></a></li>
        </ul>
        <h2 id="caption">Ocean Side</h2>
        <p><img id="main-image" src="images/photo3.jpg" alt=""></p>
    </body>

Почему я получаю это ошибка?

1 Ответ

1 голос
/ 19 февраля 2020

Ответьте сначала, затем прочитайте лекцию ... ошибка в вашем коде:

<p><img id="main-image" src="images/photo3.jpg" alt=""></p> // from html var imageNode = $("main_image"); // from javascript

идентификаторы не совпадают, это просто опечатка, main_image (never equals) main-image

либо используйте <p><img id="main-image" src="images/photo3.jpg" alt=""></p> // from html var imageNode = $("main-image"); // from javascript

или

<p><img id="main_image" src="images/photo3.jpg" alt=""></p> // from html var imageNode = $("main_image"); // from javascript

Теперь, чтобы понять такие опечатки, обратите внимание на свой код и переменные ... счастливое кодирование :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...