Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.01.2021, 12:33
Интересующийся
Отправить личное сообщение для Shoxrux Посмотреть профиль Найти все сообщения от Shoxrux
 
Регистрация: 18.11.2020
Сообщений: 15

slider некст кнопка работает но превью не мог правильно писать!
let data  = [
    {
        id:1,
        name: 'leopard',
        description:'animal from my childhood. I love this animal',
        src:'animal1.jpg'
    },
    {
        id:2,
        name: 'cat',
        description:'animal from my childhood. I love this animal',
        src:'animal4.jpg'
    },  
    {
        id:3,
        name: 'kitty',
        description:'animal from my childhood. I love this animal',
        src:'animal3.jpg'
    }, 
    {
        id:4,
        name: 'giraph',
        description:'animal from my childhood. I love this animal',
        src:'animal2.jpg'
    },
    
]
let indexOfList = 0

let func  = e=>{
    indexOfList++
    title.textContent = data[indexOfList].name
    animal.src = data[indexOfList].src
    descript.textContent =  data[indexOfList].description
    if(indexOfList == data.length-1){
        indexOfList = 0
        
    }
}
next.onclick =  e=>{
    indexOfList++
    title.textContent = data[indexOfList].name
    animal.src = data[indexOfList].src
    descript.textContent =  data[indexOfList].description
    if(indexOfList == data.length-1){
        indexOfList = 0
        
    }
}



prev.onclick= e =>{
    indexOfList --
    title.textContent = data[indexOfList].name
    animal.src = data[indexOfList].src
    descript.textContent =  data[indexOfList].description
    if(indexOfList == data.length - 1) {

        indexOfList = 0 
        debugger
    }

}


помогите пожалуйста
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #animal{
            width: 400px;
            height: 300px;
        }
    </style>
</head>
<body>

    <ul id="carusel">
        <li>
            <h1 id="title">Animal Collection</h1>
            <img src="./animal2.jpg" alt="animal" id="animal">
            <p id="descript">animal from my childhood. I love this animal</p>
        </li>
    </ul>
    <button id="prev">Prev</button>
    <button id="next">Next</button>
    <script src="./main.js"></script>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2021, 13:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Shoxrux,
изменили indexOfList, затем проверили indexOfList, затем согласно indexOfList установили данные.
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2021, 13:16
Интересующийся
Отправить личное сообщение для Shoxrux Посмотреть профиль Найти все сообщения от Shoxrux
 
Регистрация: 18.11.2020
Сообщений: 15

я не изменил indexOfList о чем вы говорите ?
я хочу чтобы при нажатии prev слайды назад должны перейти по кругу без остановки. надеюсь я правильно объяснил)
Ответить с цитированием
  #4 (permalink)  
Старый 20.01.2021, 13:17
Интересующийся
Отправить личное сообщение для Shoxrux Посмотреть профиль Найти все сообщения от Shoxrux
 
Регистрация: 18.11.2020
Сообщений: 15

я не изменил indexOfList о чем вы говорите ?
я хочу чтобы при нажатии prev слайды назад должны перейти по кругу без остановки. надеюсь я правильно объяснил)
Ответить с цитированием
  #5 (permalink)  
Старый 20.01.2021, 13:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Shoxrux,
сначала indexOfList++ затем if

indexOfList-- затем if
Ответить с цитированием
  #6 (permalink)  
Старый 20.01.2021, 13:25
Интересующийся
Отправить личное сообщение для Shoxrux Посмотреть профиль Найти все сообщения от Shoxrux
 
Регистрация: 18.11.2020
Сообщений: 15

Пожалуйста в коде покажите как писать
Ответить с цитированием
  #7 (permalink)  
Старый 20.01.2021, 13:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Shoxrux,
next.onclick =  e=>{
    indexOfList++;
    if(indexOfList >= data.length){
        indexOfList = 0
    }
    title.textContent = data[indexOfList].name
    animal.src = data[indexOfList].src
    descript.textContent =  data[indexOfList].description
}
prev.onclick= e =>{
    indexOfList--;
    if(indexOfList < 0 ) {
      indexOfList = data.length - 1
            };
    title.textContent = data[indexOfList].name
    animal.src = data[indexOfList].src
    descript.textContent =  data[indexOfList].description
}
Ответить с цитированием
  #8 (permalink)  
Старый 20.01.2021, 13:32
Интересующийся
Отправить личное сообщение для Shoxrux Посмотреть профиль Найти все сообщения от Shoxrux
 
Регистрация: 18.11.2020
Сообщений: 15

Не работает
Ответить с цитированием
  #9 (permalink)  
Старый 20.01.2021, 13:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Сообщение от Shoxrux
Не работает
что не работает?
Ответить с цитированием
  #10 (permalink)  
Старый 20.01.2021, 13:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Shoxrux,
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #animal{
            width: 400px;
            height: 300px;
        }
        li{
            list-style: none;
        }

    </style>
</head>
<body>
    <ul id="carusel">
        <li>
            <h1 id="title">leopard</h1>
            <img src="https://fakeimg.pl/350x200/?text=leopard" alt="animal" id="animal">
            <p id="descript">animal from my childhood. I love this animal</p>
        </li>
    </ul>
    <button id="prev">Prev</button>
    <button id="next">Next</button>
    <script>let data  = [
    {
        id:1,
        name: 'leopard',
        description:'animal from my childhood. I love this animal',
        src:'https://fakeimg.pl/350x200/?text=leopard'
    },
    {
        id:2,
        name: 'cat',
        description:'animal from my childhood. I love this animal',
        src:'https://fakeimg.pl/350x200/?text=cat'
    },
    {
        id:3,
        name: 'kitty',
        description:'animal from my childhood. I love this animal',
        src:'https://fakeimg.pl/350x200/?text=kitty'
    },
    {
        id:4,
        name: 'giraph',
        description:'animal from my childhood. I love this animal',
        src:'https://fakeimg.pl/350x200/?text=giraph'
    },
]
let indexOfList = 0
next.onclick =  e=>{
    indexOfList++;
    if(indexOfList >= data.length){
        indexOfList = 0
    }
    title.textContent = data[indexOfList].name
    animal.src = data[indexOfList].src
    descript.textContent =  data[indexOfList].description
}
prev.onclick= e =>{
    indexOfList--;
    if(indexOfList < 0 ) {
      indexOfList = data.length - 1
            };
    title.textContent = data[indexOfList].name
    animal.src = data[indexOfList].src
    descript.textContent =  data[indexOfList].description
}
</script>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему в таком слайдере кнопка вправо работает через раз dengk Общие вопросы Javascript 2 29.01.2020 21:04
После затемнения видеофона на сайте кнопка основного контента не работает Alina666 jQuery 2 14.04.2017 12:38
AddEventListener не правильно работает с классами Flakky Events/DOM/Window 2 27.05.2016 13:51
Как правильно писать на JS? auditseo Общие вопросы Javascript 14 11.10.2015 15:51
Не работает кнопка "Наверх" dle 9.3 dunek_ Opera, Safari и др. 1 25.05.2013 18:26