简单 slider 的 Javascript 函数不执行 onclick

标签 javascript function slide

您好,感谢您的查找。 我决定通过反复试验和谷歌搜索我需要的东西来学习 Javascript。到目前为止一切顺利,但是当我尝试一些有点棘手的东西( slider )时,事情变得很困难。

我对 Javascript 语法以及如何在函数中编写表达式不太了解,但我正在尝试。

所以这里我们在一个 div 中有一个简单的 4 个图像,带有 2 个箭头 slider 。当我们单击箭头时,我们希望计数器减少 1,我们要确保它不等于 0,如果等于,我们将其更改为 4,完成后,我们给相应的图像 ( img[counter] ) a z例如指数为 50。但这不起作用。由于某种原因。

这是整个事情的一个 fiddle ,希望我不会给你们带来太多麻烦。

https://jsfiddle.net/wu2Lysrv/3/

function slideEngine() {
    var img1 = document.querySelector("#img1");
    var img2 = document.querySelector("#img2");
    var img3 = document.querySelector("#img3");
    var img4 = document.querySelector("#img4");
    var counter = 1;

    function slideL() {
        counter--;
        if (counter == 0) {
            counter = 4;
        }
        img[counter].setAttribute("z-index", "50");
    }
}

如果有人变得愤怒,我会理解,因为我敢打赌那边的这段代码是非常非常错误的。尽管如此,我还是想了解如何正确地做到这一点。

最佳答案

slideL 函数位于 slideEngine 内部,因此您的 html 无法直接访问它。

一个潜在的修复方法是简单地删除包装函数,因为它似乎没有在任何地方使用。但是,该代码还存在其他问题,会阻止其工作。我尝试修复以下一些问题。

var img1 = document.querySelector("#img1");
var img2 = document.querySelector("#img2");
var img3 = document.querySelector("#img3");
var img4 = document.querySelector("#img4");
var counter = 1;

function slideL() {
    counter--;
    if (counter == 0) {
        counter = 4;
    }
    window['img'+counter].style.zIndex = 50;
}

我没有测试这个,但尝试一下。

关于简单 slider 的 Javascript 函数不执行 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31592118/

相关文章:

javascript - 类(Class)后代扰乱事件

javascript - JQuery slideToggle超时

javascript - 从嵌套的对象数组中提取所有特定属性

javascript - 通过属性传递属性/对象。 Javascript

javascript - 使用 requireJS 优化器保留 highcharts 的 jQuery 依赖性

javascript - 如何在 Javascript 中获取计算出的 getter 名称?

c++ - 模板函数 roundTo int, float -> 截断

javascript - Bootstrap Datetimepicker 不适用于动态字段

javascript - 仅在基本 url 上运行的 JS 函数

在分组数据上使用 slide_dbl() 滚​​动窗口