Javascript滑块添加/删除不带';不要取下第一张幻灯片
我在这个网站上浏览了几年,但直到现在才遇到了一个无法通过阅读其他人的答案来解决的问题 我觉得我的问题很容易克服,但由于某种原因,我在这方面遇到了障碍 我有一个“光滑”的滑块,可以添加和删除幻灯片,将来我希望能够使第一张幻灯片成为不可删除的上传表单。每次上传都会生成一张新幻灯片。删除该上传将删除该特定幻灯片 我的第一个问题是,我不太确定如何使第一张幻灯片不可删除……如果因为这个问题而挂断,意味着我将无法解决创建我上面提到的内容的问题,那么可能有人可以完成这项工作。(抱歉,如果这样说违反了规定) 这是我的代码,希望它是您所需要的:Javascript滑块添加/删除不带';不要取下第一张幻灯片,javascript,html,Javascript,Html,我在这个网站上浏览了几年,但直到现在才遇到了一个无法通过阅读其他人的答案来解决的问题 我觉得我的问题很容易克服,但由于某种原因,我在这方面遇到了障碍 我有一个“光滑”的滑块,可以添加和删除幻灯片,将来我希望能够使第一张幻灯片成为不可删除的上传表单。每次上传都会生成一张新幻灯片。删除该上传将删除该特定幻灯片 我的第一个问题是,我不太确定如何使第一张幻灯片不可删除……如果因为这个问题而挂断,意味着我将无法解决创建我上面提到的内容的问题,那么可能有人可以完成这项工作。(抱歉,如果这样说违反了规定) 这
$(document).ready(function() {
$('.add-remove').slick({
dots: true,
slidesToShow: 1,
speed: 500,
slidesToScroll: 1
});
var slideIndex = 1;
$('.js-add-slide').on('click', function() {
slideIndex++;
$('.add-remove').slick('slickAdd','<div><h3>' + slideIndex + '</h3></div>');
});
$('.js-remove-slide').on('click', function() {
$('.add-remove').slick('slickRemove', slideIndex - 1);
if (slideIndex !== 0){
slideIndex--;
}
});
});
$(文档).ready(函数(){
$('.add-remove').slick({
点:是的,
幻灯片放映:1,
速度:500,,
幻灯片滚动:1
});
var slideIndex=1;
$('.js添加幻灯片')。在('click',function()上{
slideIndex++;
$('.add-remove').slick('slickAdd',''+slideIndex+'');
});
$('.js删除幻灯片')。在('click',function()上{
$('.add-remove').slick('slickRemove',slideIndex-1);
如果(滑动索引!==0){
滑动索引--;
}
});
});
你所谓的幻灯片索引不是索引,而是幻灯片的数量。这意味着您总是删除最后一张幻灯片slideCount
将是一个更合适的名称。要限制删除并仅删除活动图元,可以执行以下操作:
var slideCount = 0, slideSequence = 0;
$('.js-remove-slide').on('click', function() {
var slideIndex = $('.slick-slide.slick-active').data('slick-index');
if (slideIndex != 0){
$('.add-remove').slick('slickRemove', slideIndex);
slideCount--;
}
});
$('.js-add-slide').on('click', function() {
slideCount++;
$('.add-remove').slick('slickAdd','<div><h3>' + slideSequence + '</h3></div>');
slideSequence++;
});
var slideCount=0,slideSequence=0;
$('.js删除幻灯片')。在('click',function()上{
var slideIndex=$('.slick slide.slick active')。数据('slick-index');
如果(滑动索引!=0){
$('.add-remove').slick('slickRemove',slideIndex);
幻灯片计数--;
}
});
$('.js添加幻灯片')。在('click',function()上{
slideCount++;
$('.add-remove').slick('slickAdd',''+slideSequence+'');
slideSequence++;
});
add最终可能会添加一张新幻灯片,这取决于
slickAdd
的实现,它将始终获得下一个数字,即使删除了某些内容,以显示删除和创建的位置。在这种情况下,我将检查切片的长度,并且仅在长度大于1时才会删除
像这样的东西应该有用
if ($(".slick-slide").length > 1) {
// deletion code
}
这看起来是正确的-我没有注意到slideIndex是递增的,而不是SlideTanks的实际索引值。你可以得到他的工作,我没有时间;-)谢谢你的回答!这对你有用吗?因为对我来说,如果我创建多张幻灯片,它将不起作用。@maraca非常感谢您的帮助,但我仍然有删除多张幻灯片的问题。即使我将幻灯片设为活动幻灯片并点击“移除”,它也会保持在那里。如果你想知道我的意思,我用你的代码更新了原始问题中的链接。只需一次添加4或5张幻灯片,然后尝试转到每个幻灯片并将其删除。@OisinMc您有一些克隆的幻灯片,我不知道这是否正确。可能是删除无法正常工作,您可以通过放置警报(slideIndex)来检查是否获得了正确的删除索引