javascript - 单击同一按钮后一次显示下一个图像 div 并在 javascript html 中隐藏当前图像 div

标签 javascript jquery css html

我正在使用 Javascript、Html5、Jquery 和 Css。现在我有三个图像 div,我想在单击按钮后显示一个图像 div,我想在单击同一按钮后显示下一个 div 并隐藏当前 div。

现在我正在使用这段代码:
CSS 代码:

#Div2 {
    display: none;
}
#Div3 {
    display: none;
}

HTML代码:

<div class="container">
    <div class="row">    
        <input id="Button1" type="button" value="Click" onclick="switchVisible();"/>
        <div class="col-sm-4">
            <div id="Div1">
                <canvas id="canvas1" class="img-responsive center-block" style="float:left"></canvas>  
            </div>
            <div id="Div2">
                <canvas id="canvas2" class="img-responsive center-block" style="float:left"></canvas>   
            </div>
            <div id="Div3">
                <canvas id="canvas3" class="img-responsive center-block" style="float:left"></canvas>    
            </div>
        </div> 
    </div>
</div>

Java 脚本代码:

 function switchVisible() {
            if (document.getElementById('Div1')) {
                if (document.getElementById('Div1').style.display === 'none') {
                    document.getElementById('Div1').style.display = 'block';
                    document.getElementById('Div2').style.display = 'none';
                    document.getElementById('Div3').style.display = 'none';
                }
                else if (document.getElementById('Div2').style.display === 'none') {
                    document.getElementById('Div1').style.display = 'none';
                    document.getElementById('Div2').style.display = 'block';
                    document.getElementById('Div3').style.display = 'none';

                }
                else
                {
                    document.getElementById('Div1').style.display = 'none';
                    document.getElementById('Div2').style.display = 'none';
                    document.getElementById('Div3').style.display = 'block';
                }
            }
        }

此代码适用于两个图像 div,但不适用于第三个图像。我已从以下链接获得帮助:https://stackoverflow.com/questions/

现在我有三个图像 div,但现在我在点击按钮后一次显示一个图像 div。

enter image description here

我想在单击按钮后显示下一个图像 div 并隐藏当前图像 div。我之前告诉过我正在使用三个图像 div。我展示图像的动机是旋转的。
请给我一些想法。

最佳答案

如果您使用的是 jQuery,您可以这样做:

function switchVisible() {
    $(".img-responsive").parent().each(function(){
        if($(this).is(":visible")) {
            $(".img-responsive").parent().hide();
            if ($(this).next().length) {
                $(this).next().show();
            } else {
                $($(".img-responsive")[0]).parent().show();
            }

            return false;
        }
    })
}

您可以使用 prev() 而不是 next() 返回。

 function switchVisibleRevert() {
    $(".img-responsive").parent().each(function(index){
        if($(this).is(":visible")) {
            $(".img-responsive").parent().hide();
            if ($(this).prev().length) {
                $(this).prev().show();
            } else {
                $($(".img-responsive")[$(".img-responsive").length-1]).parent().show();//show last element
            }

            return false;
        }
    })
}

关于javascript - 单击同一按钮后一次显示下一个图像 div 并在 javascript html 中隐藏当前图像 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33708928/

相关文章:

Javascript 创建元素并添加 HTML

JQuery 数据表。初始化表时设置列的默认搜索值

jquery - 在 MVC 中将数据从 Jquery 加载到表中

css - pygments + Bootstrap : highlight shell code with dark background

javascript - snapscroll 插件未激活

javascript - Bootstrap 导航下拉菜单不起作用,我做错了什么?

javascript - 如何仅使用 JavaScript 将属性数据转换为小写?

javascript - 在加载页面之前修改html页面中所有脚本的src

javascript - 如何从外部访问 React 组件中使用的第三方 DOM 库中的对象属性

jQuery 选择具有相同类的随机元素