用于显示不同div标签的Js代码只能以一种方式工作

时间:2015-04-24 18:43:13

标签: javascript jquery html css

所以我试图制作一个日历,我得到它是你点击箭头改变月份名称的地方。但由于某种原因,它只能倒退而不是前锋。这是我的Js代码和Html:

代码:https://jsfiddle.net/9e3ddso1/

    .

因此,当您单击左侧按钮时,它会向后移动,但如果您单击右侧按钮则不会执行任何操作。它会持续一个月,但它不会让你超过一个月。

5 个答案:

答案 0 :(得分:1)

您正在使用:

<span class="glyphicon glyphicon-chevron-right 1"></span>

在html文件中,但在JS文件中,您正在监听right1事件。尝试将上面更改为:

<span class="glyphicon glyphicon-chevron-right right1"></span>

以及所有类似的span元素

此致

答案 1 :(得分:0)

这是因为您没有任何引用“正确”的类,即'right1'right2right3等。您需要将每个div的代码更改为此,并更新相应的正确的类,即span类的最后一部分。请参阅下面的代码,了解如何更改第一个代码:

<a>
    <div class="month1">
        <span class="glyphicon glyphicon-chevron-left left1"></span>
        January
        <span class="glyphicon glyphicon-chevron-right right1">  
        </span>
    </div>
</a>

答案 2 :(得分:0)

正如其他人所说,你错过了“正确”作为“正确的1”课程的一部分。

或者,您可以使用较小的版本来获得相同的效果 https://jsfiddle.net/9e3ddso1/8/

var months = ["January", "Febuary", "March", "April", "May"];

$('.month').on('click', '.left', function() {
    var $month = $(this).closest('.month');
    var newMonth = ($month.data('month') > 0 ? $month.data('month') - 1 : months.length - 1);

    $month.data('month', newMonth);
    $month.find('.description').html(months[newMonth]);
});

$('.month').on('click', '.right', function() {
    var $month = $(this).closest('.month');
    var newMonth = ($month.data('month') + 1) % months.length;

    $month.data('month', newMonth);
    $month.find('.description').html(months[newMonth]);
});

答案 3 :(得分:-1)

看到你的代码。它不会继续,因为你的类名不正确。您错过了HTML中的classname中的right字词。

例如: 而不是glyphicon glyphicon-chevron-right right1,您使用了glyphicon glyphicon-chevron-right 1

答案 4 :(得分:-2)

你在链接上忘记了正确的课程:

https://jsfiddle.net/9e3ddso1/1/

.