Javascript 单击链接到相关滑块项目
我用jQuery做了一个基本的滑块,只剩下页边空白,我不能用插件。 也没有访问HTML的权限,下一个和上一个按钮可以很好地转换滑块。但是现在我需要操作每个滑块的链接,当您单击每个滑块的链接时,必须转换到它们特定的滑块。但我不知道怎么做 HTMLJavascript 单击链接到相关滑块项目,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(“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();
});