Как изменить содержимое div

#javascript

#javascript

Вопрос:

Я знаю, что этот вопрос задавался раньше, но если бы кто-нибудь мог объяснить более подробно, это было бы потрясающе. У меня есть div, таблица и изображение внутри этого div. Я создаю галерею изображений, поэтому у меня есть две ссылки вперед и назад, как мне заставить эти ссылки изменить изображение, или, скорее, все содержимое внутри div. Я очень новичок в javascript, на самом деле я вообще ничего об этом не знаю, если бы я мог получить пошаговую инструкцию, которая была бы потрясающей, я пробовал so с другими почтовыми кодами, но не могу заставить это работать, поэтому я понятия не имею, что я делаю не так.

Ответ №1:

Пример HTML:

 <html>
<head><title>Dummy page</title></head>
<body>
  <div id="divID">
    <img id="backImg" src="http://test.com/sample.jpg">
  </div>
</body>
</html>
  

Чтобы изменить весь div:

 var div = document.getElementByID('divID');
div.innerHTML = "<b>This is some html</b>";
  

Чтобы просто изменить изображение:

 var img = document.getElementByID('backImg');
img.src = "http://www.host.com/image.jpg';
  

Комментарии:

1. Хорошо, итак, я не уверен, что понимаю, или если мне ясно, о чем я спрашиваю, мне нужно изменить весь div, потому что мои изображения разного размера и стиль разный, поэтому каждый div отличается, вот почему мне нужно изменить весь div. Я не хочу использовать кнопку для запуска изменения, а ссылку. и эта же ссылка должна иметь возможность постоянно изменять div на другой div, примерно до 50 разных divs… можно ли это сделать…

Ответ №2:

Вот хороший пример, который я привел, который может помочь. Попробуйте это — http://jsfiddle.net/SuperBoi45/XMSGe /

Вот код для быстрого ознакомления:

HTML:

 <button id="before">Previous</button>
<button id="next">Next</button>
<div id="imageGallery"></div>
  

JavaScript:

 function $(id) {
    return document.getElementById(id);
}
var foward = null,
    back = null,
    images = [
        "http://www.toxel.com/wp-content/uploads/2009/04/conceptcar04.jpg",
        "http://politicolnews.com/wp-content/uploads/2010/01/bill-gates-car.jpg",
        "http://www.youthedesigner.com/wp-content/uploads/2008/05/car-wallpapers19.jpg",
        "http://d2o7bfz2il9cb7.cloudfront.net/main-qimg-555c9ae9cfd364db5307b2e8d717a00d",
        "http://d2o7bfz2il9cb7.cloudfront.net/main-qimg-01589fb639efec5433a3e30a8a8dd449",
        "http://d2o7bfz2il9cb7.cloudfront.net/main-qimg-31f8cbd6627edc1ba9ef2828f3423fdf",
        "http://d2o7bfz2il9cb7.cloudfront.net/main-qimg-0f47a0c2db85b5d7c134d41bcdc65b2e",
        "http://d2o7bfz2il9cb7.cloudfront.net/main-qimg-739fd589778207e542a6e31873a24433",
        "http://d2o7bfz2il9cb7.cloudfront.net/main-qimg-6056a5df58462ea4951a2b328243b7a2",
        "http://d2o7bfz2il9cb7.cloudfront.net/main-qimg-59028363fc0f7d0ee7aa1ebc5e72713a",
        "http://d2o7bfz2il9cb7.cloudfront.net/main-qimg-eb09864be7a1fbe7e821bc1ee08c3a8b",
        "http://d2o7bfz2il9cb7.cloudfront.net/main-qimg-50bd88090e05a452bba67d510ba4a0cc",
        "http://d2o7bfz2il9cb7.cloudfront.net/main-qimg-191b37eea296e90a242d24db90824c5c"
        ];

var img = new Image();
for (var i = 0; i < images.length; i  ) { // caching the images for performance boost
    img.src = images[i];
}

var image = {
    count: -1,
    next: function() {
        if (image.count == (images.length) - 1) return false;
        image.count  = 1;
        $('imageGallery').innerHTML = "<img src=""   images[image.count]   ""/>";
    },
    previous: function() {
        if (image.count <= 0) return false;
        image.count -= 1;
        $('imageGallery').innerHTML = "<img src=""   images[image.count]   ""/>";
    }
};

foward = image.next;
back = image.previous;
$('next').addEventListener("click", foward);
$('before').addEventListener("click", back);
  

Самое лучшее в этом то, что все, что вам нужно сделать, это добавить новый URL изображения в массив, и он все равно будет работать.
Если вы хотите изменить изображения, но не все содержимое в div, я бы рекомендовал поместить другой div вне галереи изображений.