Простой слайдер на js

328
05 августа 2017, 05:41

Пробую сделать простой слайдер на js с точками, но что-то не работает. Подскажите, где ошибка в js :

function action1(){
    var img1 = document.getElementById('img1');
    img1.style.display = "block";
}
function action2(){
    var img2 = document.getElementById('img2');
    img2.style.display = "block";
}
function action3(){
    var img3 = document.getElementById('img3');
    img3.style.display = "block";
}

Слайдер по ссылке : Простой слайдер на js

Answer 1

Как вариант:

https://codepen.io/anon/pen/OjbxGV

function action1() { 
    hideAll(); 
    var img1 = document.getElementById('img1'); 
    img1.style.display = "block"; 
} 
 
function action2(){ 
    hideAll(); 
    var img2 = document.getElementById('img2'); 
    img2.style.display = "block"; 
} 
 
function action3(){ 
    hideAll(); 
    var img3 = document.getElementById('img3'); 
    img3.style.display = "block"; 
} 
 
function hideAll() { 
    var images = document.querySelectorAll('#polosa>img'); 
    for (var i = 0; i < images.length; ++i) { 
        images[i].style.display = 'none'; 
    } 
}
.slider { 
    margin-left: auto; 
    margin-right: auto; 
    height: 128px; 
    width: 128px; 
    border: 1px solid #000; 
    overflow: hidden; 
} 
 
#polosa { 
    height: 128px;   
    display: block; 
} 
#polosa img { 
    display: none; 
} 
.buttons { 
    border: 1px solid #000; 
    width: 128px; 
    height: 50px; 
    margin: 10px auto; 
} 
 
.buttons .button { 
    display: inline-block; 
    vertical-align: middle; 
    width: 15px; 
    height: 15px; 
    background-color: red; 
    margin-top: 16px; 
    margin-left: 18px; 
    cursor: pointer; 
    border-radius: 50%; 
}
<div class="slider"> 
    <div id="polosa"> 
        <img src="https://cdn4.iconfinder.com/data/icons/social-media-2110/64/Facebook-01-128.png" id="img1"> 
        <img src="https://cdn1.iconfinder.com/data/icons/social-vol-2-1/200/4-128.png" id="img2"> 
        <img src="https://cdn3.iconfinder.com/data/icons/social-network-icon/112/vk-128.png" id="img3"> 
    </div> 
</div> 
 
<div class="buttons"> 
    <div class="button" onclick="action1()"></div> 
    <div class="button" onclick="action2()"></div> 
    <div class="button" onclick="action3()"></div> 
</div>

Answer 2

Я так понял вы хотите по нажатию на точку переключать изображение.
Вам нужно открыть ( display: block; ) #polosa и скрыть все изображения внутри( #polosa img { display: none; } ). А по нажатию на точку, кроме открытия img еще и закрывать все остальные открытые ранее.

READ ALSO
Создаю таблицу с помощью jQuery DataTables

Создаю таблицу с помощью jQuery DataTables

Помогите пожалуйста не могу понять как поменять функцию в mRender, чтобы рна отображала цену

275
Почему не работает скрипты на разных страницах?

Почему не работает скрипты на разных страницах?

ПриветЕсть многостраничный сайт и файл js который подключается на всех страницах в футере

308
jQuery селекторы при on click

jQuery селекторы при on click

Есть таблицаПосле определенного события (у меня это кнопка CHECK) элементам tr присваивается class

356