Javascript 我能';t增加变量';单击按钮时的值
我只想这样做:(index++或index--当点击按钮时)但它的值不会改变(总是零)。我想我不能传递一些价值观。它必须是增加还是减少??有两个功能。一个是增加我的索引变量,另一个是减少它。但最终指数保持为0Javascript 我能';t增加变量';单击按钮时的值,javascript,json,promise,fetch,Javascript,Json,Promise,Fetch,我只想这样做:(index++或index--当点击按钮时)但它的值不会改变(总是零)。我想我不能传递一些价值观。它必须是增加还是减少??有两个功能。一个是增加我的索引变量,另一个是减少它。但最终指数保持为0 $(document).ready(function () { "use strict"; const carousel_baslik = $(".carousel-baslik")[0]; const carousel_metin = $(".carousel-
$(document).ready(function () {
"use strict";
const carousel_baslik = $(".carousel-baslik")[0];
const carousel_metin = $(".carousel-metin")[0];
const carousel_image = $(".carousel-image")[0];
const counter = $("#counter")[0];
const icon = $("#icon-ground")[0];
const controller1 = $(".carousel-controller")[0];
const controller2 = $(".carousel-controller")[1];
var index = 0;
class Request {
get(url) {
return new Promise((resolve, reject) => {
fetch(url).then(res => res.json()).then(data => resolve(data)).catch(err => reject(err));
})
}
}
const Requesting = new Request();
Requesting.get("js/carousel.json").then(data => {
const slides = data.length;
controller1.addEventListener("click", function (slideCount) {
geri(slides);
});
controller2.addEventListener("click", function (slideCount) {
ileri(slides);
});
add(data);
});
function geri(slideCount) {
index--;
showSlides(slideCount);
console.log("index:" + " " + index);
console.log("slideCount:" + " " + slideCount);
}
function ileri(slideCount) {
index++;
showSlides(slideCount);
console.log("index:" + " " + index);
console.log("slideCount:" + " " + slideCount);
}
function showSlides(slideCount) {
index = slideCount;
if (index < 0) {
index = slideCount - 1;
}
if (index >= slideCount) {
index = 0;
}
// console.log(index);
}
function add(data) {
carousel_baslik.textContent = data[index].baslik;
carousel_metin.innerHTML = data[index].metin;
carousel_image.src = data[index].image;
counter.textContent = data[index].count;
const img = document.createElement("img");
img.src = data[index].icon;
img.className = "w-100";
img.alt = "";
icon.appendChild(img);
}
});
您正在增加和减少
索引
,但不久之后,您又在showSlides
功能中设置了它,当您设置索引=slideCount
时,您所有的工作都将丢失。我认为值得您阅读该页面。我意识到showSlides
可能是一种循环方法,但你有没有试过对此进行评论,看看这是否是罪魁祸首?它会立即将索引更改为幻灯片计数,然后将索引更新为0或slideCount-1。您可以增加索引,然后在下一行调用函数时将其设置为另一个数字;放映幻灯片(幻灯片计数)代码>
$(document).ready(function () {
"use strict";
const carousel_baslik = $(".carousel-baslik")[0];
const carousel_metin = $(".carousel-metin")[0];
const carousel_image = $(".carousel-image")[0];
const counter = $("#counter")[0];
const icon = $("#icon-ground")[0];
const controller1 = $(".carousel-controller")[0];
const controller2 = $(".carousel-controller")[1];
var index = 0;
class Request {
get(url) {
return new Promise((resolve, reject) => {
fetch(url).then(res => res.json()).then(data => resolve(data)).catch(err => reject(err));
})
}
}
const Requesting = new Request();
Requesting.get("js/carousel.json").then(data => {
controller1.addEventListener("click", geri);
controller2.addEventListener("click", ileri);
add(data);
});
function add(data) {
carousel_baslik.textContent = data[index].baslik;
carousel_metin.innerHTML = data[index].metin;
carousel_image.src = data[index].image;
counter.textContent = data[index].count;
const img = document.createElement("img");
img.src = data[index].icon;
img.className = "w-100";
icon.appendChild(img);
}
function geri() {
index--;
console.log(index);
}
function ileri() {
index++;
console.log(index);
}
});