Javascript 单击链接到相关滑块项目

Javascript 单击链接到相关滑块项目,javascript,jquery,Javascript,Jquery,我用jQuery做了一个基本的滑块,只剩下页边空白,我不能用插件。 也没有访问HTML的权限,下一个和上一个按钮可以很好地转换滑块。但是现在我需要操作每个滑块的链接,当您单击每个滑块的链接时,必须转换到它们特定的滑块。但我不知道怎么做 HTML 对不起,我现在明白你的意思了。你可以试试这个 jQuery(“LIA”)。单击(函数(e){ e、 预防默认值(); var id=jQuery(this.attr(“href”); var intid=parseInt(id.substr(id.le

我用jQuery做了一个基本的滑块,只剩下页边空白,我不能用插件。 也没有访问HTML的权限,下一个和上一个按钮可以很好地转换滑块。但是现在我需要操作每个滑块的链接,当您单击每个滑块的链接时,必须转换到它们特定的滑块。但我不知道怎么做

HTML


对不起,我现在明白你的意思了。你可以试试这个

jQuery(“LIA”)。单击(函数(e){
e、 预防默认值();
var id=jQuery(this.attr(“href”);
var intid=parseInt(id.substr(id.length-1));
警报(jQuery(“div.item”).length);
jQuery(“.item”+id.substr(id.length-1)).css(“左边距”,“0px”);
var k=1;
对于(i=intid-1;i>0;i--)
{
jQuery(“.item”+i).css(“左边距”,“-”+543*k+“px”);
k++;
}
var j=1;
对于(i=intid+1;i将html更改为:

<div class="container">
    <button class="previous">previous</button>
    <div class="item item1">slider 1</div>
    <div class="item item2">slider 2</div>
    <div class="item item3">slider 3</div>
    <div class="item item4">slider 4</div>
    <button class="next">next</button>

    <ul id="foo">
        <li><a href="slider1" data-index="-2">slider1</a></li>
        <li><a href="slider2" data-index="-1">slider2</a></li>
        <li><a href="slider3" data-index="0">slider3</a></li>
        <li><a href="slider4" data-index="1">slider4</a></li>
    </ul>
</div>

以前的
滑块1
滑块2
滑块3
滑块4
下一个
将您的Javascript更改为:

var currentSlider = 0;

$('.next').click(function(e) {
    if (currentSlider != 1) {
        $('.item').each(function(index, value) {
            var currLeft = parseInt($(value).css('margin-left'));
            var newLeft = currLeft - ($(window).innerWidth());
            $(value).css('margin-left', newLeft + 'px');
        });
        currentSlider += 1;
    };
});

$('.previous').click(function(e) {
    e.preventDefault();
    if (currentSlider != -2) {
        $('.item').each(function(index, value) {
            var currLeft = parseInt($(value).css('margin-left'));
            var newLeft = currLeft + ($(window).innerWidth());
            $(value).css('margin-left', newLeft + 'px');

        });

        currentSlider -= 1;
    };
});

function bar(clickedIndex, depth) {
    if (currentSlider < clickedIndex) {
        $(".next").click();
    } else if (currentSlider > clickedIndex) {
        $(".previous").click();
    } else {
        return;
    }
    setTimeout(function() {
        bar(clickedIndex, depth + 1);
    }, 2005);
}

$("#foo > li > a").click(function(e) {
    bar($(this).data("index"), 0);
    e.preventDefault();
});
var currentsslider=0;
$('.next')。单击(函数(e){
如果(currentSlider!=1){
$('.item')。每个(函数(索引、值){
var currlefit=parseInt($(value).css('margin-left');
var newLeft=currlefit-($(window.innerWidth());
$(value).css('margin-left',newLeft+'px');
});
电流滑块+=1;
};
});
$('.previous')。单击(函数(e){
e、 预防默认值();
如果(currentSlider!=-2){
$('.item')。每个(函数(索引、值){
var currlefit=parseInt($(value).css('margin-left');
var newLeft=currlefit+($(window.innerWidth());
$(value).css('margin-left',newLeft+'px');
});
电流滑块-=1;
};
});
功能栏(单击索引、深度){
如果(currentSlider单击索引){
$(“.previous”)。单击();
}否则{
返回;
}
setTimeout(函数(){
条形图(单击索引,深度+1);
}, 2005);
}
$(“#foo>li>a”)。单击(函数(e){
条形图($(此).data(“索引”),0);
e、 预防默认值();
});

非常好,谢谢。您知道,因为快速单击时会发生冲突吗?thanksI将完成转换,以到达所单击的特定滑块。请参阅链接JSFIDLE。谢谢
<div class="container">
    <button class="previous">previous</button>
    <div class="item item1">slider 1</div>
    <div class="item item2">slider 2</div>
    <div class="item item3">slider 3</div>
    <div class="item item4">slider 4</div>
    <button class="next">next</button>

    <ul id="foo">
        <li><a href="slider1" data-index="-2">slider1</a></li>
        <li><a href="slider2" data-index="-1">slider2</a></li>
        <li><a href="slider3" data-index="0">slider3</a></li>
        <li><a href="slider4" data-index="1">slider4</a></li>
    </ul>
</div>
var currentSlider = 0;

$('.next').click(function(e) {
    if (currentSlider != 1) {
        $('.item').each(function(index, value) {
            var currLeft = parseInt($(value).css('margin-left'));
            var newLeft = currLeft - ($(window).innerWidth());
            $(value).css('margin-left', newLeft + 'px');
        });
        currentSlider += 1;
    };
});

$('.previous').click(function(e) {
    e.preventDefault();
    if (currentSlider != -2) {
        $('.item').each(function(index, value) {
            var currLeft = parseInt($(value).css('margin-left'));
            var newLeft = currLeft + ($(window).innerWidth());
            $(value).css('margin-left', newLeft + 'px');

        });

        currentSlider -= 1;
    };
});

function bar(clickedIndex, depth) {
    if (currentSlider < clickedIndex) {
        $(".next").click();
    } else if (currentSlider > clickedIndex) {
        $(".previous").click();
    } else {
        return;
    }
    setTimeout(function() {
        bar(clickedIndex, depth + 1);
    }, 2005);
}

$("#foo > li > a").click(function(e) {
    bar($(this).data("index"), 0);
    e.preventDefault();
});