使用静态定义变量的 Javascript/jQuery switch 语句

标签 javascript jquery

我正在尝试编写一个切换视频图片的脚本,但是该切换似乎在我的情况下不起作用,而且我不擅长 JavaScript。我只想在页面加载时设置 vid=1; 并使用点击事件循环浏览我的选项。我哪里做错了?我正在尝试使用此示例来使用:switch statement in Jquery and List

我的代码:

$(function(){
  var vid=1;
  $('#next-vid').click(function(){
      switch (vid) { 
        case '1': 
            $('#vid1').hide();
            $('#vid2').show();
            $('#vid3').hide();
            $('#vid4').hide();
            vid=2;
            break;
        case '2': 
            $('#vid1').hide();
            $('#vid2').hide();
            $('#vid3').show();
            $('#vid4').hide();
            vid=3;    
            break;
        case '3':
            $('#vid1').hide();
            $('#vid2').hide();
            $('#vid3').hide();
            $('#vid4').show();
            vid=4;  
            break;
        case '4': 
            $('#vid1').show();
            $('#vid2').hide();
            $('#vid3').hide();
            $('#vid4').hide();
            vid=1;  
            break;
    }
  });
  $('#prev-vid').click(function(){
      switch (vid) { 
        case '1': 
            $('#vid1').hide();
            $('#vid2').hide();
            $('#vid3').hide();
            $('#vid4').show();
            vid=4;
            break;
        case '2': 
            $('#vid1').show();
            $('#vid2').hide();
            $('#vid3').hide();
            $('#vid4').hide();
            vid=1;    
            break;
        case '3':
            $('#vid1').hide();
            $('#vid2').show();
            $('#vid3').hide();
            $('#vid4').show();
            vid=2;  
            break;
        case '4': 
            $('#vid1').hide();
            $('#vid2').hide();
            $('#vid3').show();
            $('#vid4').hide();
            vid=3;  
            break;
    }
  });

});

最佳答案

呃...这可能会更简单。

$(function() {
    var vid = 0;
    $("#next-vid").click(function() {
        vid = (vid + 1) % 4;
        $("[id^=vid]").hide();
        $("#vid"+(vid+1)).show();
    });
    $("#prev-vid").click(function() {
        vid = (vid + 3) % 4;
        $("[id^=vid]").hide();
        $("#vid"+(vid+1)).show();
    });
});

关于使用静态定义变量的 Javascript/jQuery switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20558058/

相关文章:

javascript - 有人可以告诉我该函数如何针对该元素吗?

javascript - 是否可以创建一个 div 来模糊其下方出现的任何内容?

javascript - jquery 切换的一个奇怪问题的简单示例

jquery.slidedown

javascript - 中心 bezierCurve html5 Canvas 绘图?

javascript - jQuery - 绑定(bind)滑动但保留触摸移动功能?

javascript - 使用 $.delegate() 在命名空间中选择元素

javascript - ExtJS4内存泄漏

javascript - Next.Js:更改页面而不停止音频

javascript - 在 for 循环中创建 <div> 元素时乱序