【问题标题】:Slick slider slickAdd added multiple光滑的滑块 slickAdd 添加了多个
【发布时间】:2017-06-25 22:14:26
【问题描述】:

我有一个包含 4 个选项的问题的布局。 Onclick 任何答案,它都会添加一张新幻灯片并转到该幻灯片。

$(document).on('click', '.goal1 li', function(e){
    $(this).addClass('goal-selected').siblings('li').removeClass('goal-selected');
    $('.slider').slickAdd('<div class="goal2"><h1>Question 2</h1><ul class="goals"><li>Option 1</li><li>Option 2</li><li>Option 3</li><li>Option 4</li></ul><div>');
    setTimeout(function(){
        $('.slick-next').trigger('click');
    }, 500);
});

使用此代码。如果我单击上一个按钮并更改答案,则会添加一张具有相同属性的额外幻灯片。

Fiddle Demo

【问题讨论】:

    标签: javascript jquery onclick append slick.js


    【解决方案1】:

    查看Fiddle

    $(".slider").slick({
    			infinite:false,
    			draggable:false,
    			useTransform: true,
    			speed:900,
    			cssEase: 'cubic-bezier(0.23, 1, 0.32, 1)',
    			easing: 'ease',
    			edgeFriction: 20,
    			touchMove:false,
    		});
    $(document).on('click', 'li', function(e){
        var Cclass=$(this).parent().parent().parent().attr('class').split('_')[1].split(' ')[0];
        var newCclass=parseInt(Cclass)+1;
        
        if(!$(this).siblings('li').hasClass('goal-selected'))
        {
        var addhtml='<div class="goal_'+newCclass+'"><div class="goals-setter"><h1>Question '+newCclass+'</h1><ul class="goals"><li>Option 1</li><li>Option 2</li><li>Option 3</li><li>Option 4</li></ul></div></div>';
    	$('.slider').slickAdd(addhtml);
    		
        }
        $(this).addClass('goal-selected').siblings('li').removeClass('goal-selected');
    	movenext();
    });
    		
        
        function movenext()
        {
        setTimeout(function(){$('.slick-next').trigger('click');}, 500);
        }
        
        
        
    .slider {
    		  width: auto;
    		  margin: 30px 50px 50px;
    		}
    		.slick-slide {
    		  background: #3a8999;
    		  color: white;
    		  padding: 40px 0;
    		  font-size: 30px;
    		  font-family: "Arial", "Helvetica";
    		  text-align: center;
    		}
    
    		.slick-prev:before,
    		.slick-next:before {
    		  color: black;
    		}
    
    		.slick-dots {
    		  bottom: -30px;
    		}
    
    		.slick-slide:nth-child(odd) {
    		  background: #e84a69;
    		}
    		*{
    			box-sizing:border-box;
    		}
    		ul.goals{
    			padding:0;
    		}
    		ul.goals li{
    			list-style:none;
    			float:left;
    			width:50%;
    			border:1px solid #fff;
    			padding:20px;
    			cursor:pointer;
    		}
    		.slick-slide{
    			padding:0 30px 30px;
    		}
    		.qNav{
    			margin-top:30px;
    			padding:20px 40px;
    		}
    		.goal-selected{
    			background:tomato;
    		}
    <link href="https://rawgit.com/kenwheeler/slick/master/slick/slick-theme.css" rel="stylesheet"/>
    <link href="https://rawgit.com/kenwheeler/slick/master/slick/slick.css" rel="stylesheet"/>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/jquery.slick/1.3.13/slick.min.js"></script>
    
    
    <section class="slider">
    		<div class="goal_1">
    			<div class="goals-setter">
    				<h1>Question 1</h1>
    				<ul class="goals">
    					<li>Option 1</li>
    					<li>Option 2</li>
    					<li>Option 3</li>
    					<li>Option 4</li>
    				</ul>
    			</div>
    		</div>
    	</section>

    【讨论】:

    • 感谢 Rony,它运作良好,但我希望每个问题都不同,而不仅仅是循环中的问题 1、2、3。所以我用你的小提琴尝试了一些东西。看看吧。我怎样才能做到这一点。 jsfiddle.net/locateganesh/56Lvfe8e/1
    • 希望对您有所帮助! fiddle
    • Onclick 最后一个问题选项它给出了错误,因为没有任何对象并且点击事件正在调用下一个对象。我已经给出了一个 if 条件if($('.slider ul').length &lt; 5) 和 5 一个它只会添加一个类而不是其他方法不会被调用。我对吗? jsfiddle.net/locateganesh/56Lvfe8e/5
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多