滚动到活动标签

时间:2015-10-07 20:56:10

标签: javascript jquery css

这个问题是基于我的上一个问题。

show or make visible active tab

我有一些问题需要解决,所以我已修复了。但我仍然无法正常工作。

就像我想滚动左右活动/点击的标签来显示。请看看jsfiddle的例子。例如:当我点击溢出的标签5时,它应该显示可见。然后从1到4将溢出(隐藏)所以现在如果我点击2(2点击)然后它应滚动到右边并显示它可见。实际上,将有N个列表(li)元素。

我刚发现不知道为什么但是jsfiddle示例在IE上不起作用。

谢谢...

Jsfiddle

$(document).on('click', '.liClicked', function () {
    var idValue = ($(this).attr('id'));
    console.log(idValue);
    var idValues = ($(".element ul li#" + idValue));
    console.log(idValues);

    // $(idValues).css('left','-50px');

    $('.element').animate({
        "left": "-=50px",
    }, "slow")

});

$("#right").click(function () {
    var calcs = ($('ul li#tab1').width());

    $(".element").animate({
        "left": "+=" + calcs,
    }, "slow");
});

$("#left").click(function () {
    $(".element").animate({
        "left": "-=50px"
    }, "slow");
});

1 个答案:

答案 0 :(得分:2)

试试这个:

 $(document).on('click', '.liClicked', function() {
    var idValue  = ($(this).attr('id'));
     console.log(idValue);
     var idValues = ($(".element ul li#" + idValue));
     console.log(idValues);

     // $(idValues).css('left','-50px');


     var me = $(this);
     $('.element').animate({
         "left": $('li#' + me.prop('id')).position().left * -1 ,
     }, "slow")

 });

此外,建议不要使用两个ID相同的元素