Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 23.12.2016, 13:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

KEMPZOR,
потому что не придумали такого css до того как есть только после ~
Ответить с цитированием
  #12 (permalink)  
Старый 23.12.2016, 14:15
Аспирант
Отправить личное сообщение для KEMPZOR Посмотреть профиль Найти все сообщения от KEMPZOR
 
Регистрация: 13.12.2016
Сообщений: 85

Сообщение от рони Посмотреть сообщение
KEMPZOR,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  body{
    background-color: #E0FFFF;
  }

  div{
      width: 356px;
      height: 310px;
    background-size: 342px 290px;
    background-repeat: no-repeat;
     background-position: 10px 16px;
  }

  </style>

  <script>
window.addEventListener("DOMContentLoaded", function() {
    var inp = document.querySelectorAll(".button-class-material"),
        demo = document.querySelector(".demo"),
        arr = ["http://l-c.by/d/402010/d/32_ays_01.jpg", "http://photostart.ru/images/1/005103.jpg", "http://www.lenagold.ru/fon/tkan/tkan/beg/begtkan56.jpg"];

    function setImg() {
        arr.forEach(function(img, i) {
            inp[i].checked && (demo.style.backgroundImage = "url(" + img + ")")
        })
    }
   [].forEach.call(inp, function(item) {
        item.addEventListener("change", setImg, false)
    });
    setImg()
});
  </script>
</head>

<body>


<input class="button-class-material" id="roll_mater_32" type="radio" name="catalmat_roll" value="2" >
<label class="drinkcard-cc" for="roll_mater_32"><img class="obrazci_tkan" src="http://l-c.by/d/402010/d/32_ays_01.jpg" width="65" height="65" title="Айс 01"></label>
<input class="button-class-material" id="roll_mater_33" type="radio" name="catalmat_roll" value="2" checked="checked" >
<label class="drinkcard-cc" for="roll_mater_33"><img class="obrazci_tkan" src="http://photostart.ru/images/1/005103.jpg" width="65" height="65" title="Айс 01"></label>
<input class="button-class-material" id="roll_mater_34" type="radio" name="catalmat_roll" value="2">
<label class="drinkcard-cc" for="roll_mater_34"><img class="obrazci_tkan" src="http://www.lenagold.ru/fon/tkan/tkan/beg/begtkan56.jpg" width="65" height="65" title="Айс 01"></label>

<div class="demo"><img src="http://s017.radikal.ru/i420/1612/c2/4c5191812863.png" alt=""></div>
</body>
</html>
Всё отлично, только вот если картинок +100500, то я так понимаю это плохо подойдёт
arr = ["http://l-c.by/d/402010/d/32_ays_01.jpg", "http://photostart.ru/images/1/005103.jpg", "http://www.lenagold.ru/fon/tkan/tkan/beg/begtkan56.jpg"];


А если я картинки переименую к примеру каким нибудь однотипным названием, например 1 pict 2 pict 3 pict, получиться ли уменьшить код чтобы он определял 'число' + pict?
Ответить с цитированием
  #13 (permalink)  
Старый 23.12.2016, 14:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

Сообщение от KEMPZOR
получиться ли уменьшить код чтобы он определял 'число' + pict?
а подумать самому?
Ответить с цитированием
  #14 (permalink)  
Старый 23.12.2016, 14:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080


window.addEventListener("DOMContentLoaded", function() {
    var a = document.querySelectorAll(".button-class-material"),
        b = document.querySelector(".demo");
    [].forEach.call(a, function(a, c) {
        var d = ("0" + (c + 1)).substr(-2);
        a.addEventListener("click", function() {
            b.style.backgroundImage = "url(http://l-c.by/d/402010/d/32_ays_" + d + ".jpg)"
        }, !1)
    })
});
Ответить с цитированием
  #15 (permalink)  
Старый 23.12.2016, 15:22
Аспирант
Отправить личное сообщение для KEMPZOR Посмотреть профиль Найти все сообщения от KEMPZOR
 
Регистрация: 13.12.2016
Сообщений: 85

Сообщение от рони Посмотреть сообщение

window.addEventListener("DOMContentLoaded", function() {
    var a = document.querySelectorAll(".button-class-material"),
        b = document.querySelector(".demo");
    [].forEach.call(a, function(a, c) {
        var d = ("0" + (c + 1)).substr(-2);
        a.addEventListener("click", function() {
            b.style.backgroundImage = "url(http://l-c.by/d/402010/d/32_ays_" + d + ".jpg)"
        }, !1)
    })
});
Класс, то что нужно!! Спасибо огромное!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
prepend (загрузка новых блоков, поверх старых) Vladislav AJAX и COMET 4 07.01.2014 21:43
окно поверх таблицы qwertycal Общие вопросы Javascript 2 20.02.2013 13:15
jquery поверх всех окон lucku jQuery 4 23.04.2012 23:59
svg поверх google map с использованием raphael amigo* Элементы интерфейса 1 16.06.2010 17:29