【发布时间】:2017-07-15 10:34:40
【问题描述】:
大家好,我是 angular2 的新手
尝试了几种方法来实现这种功能(看看 jsfiddle)。
我需要的是点击它,将活动类添加到下一个元素,并从当前元素中删除相同的 Prev btn,反之亦然。这样下一个元素将被显示,而前一个元素将被隐藏。添加/删除类或添加删除样式可能对我有用..或其他任何可以实现这种事情的东西
我刚刚用 jQuery 实现了它。
但我只想用 Angular2 来实现它,任何东西都可以为我工作
html:
<ul>
<li class="active">item1</li>
<li>item2</li>
<li>item3</li>
</ul>
<button class="prev">prev</button> <button class="next">Next</button>
jQuery:
$('.next').click( function(){
$('.active').next().addClass('active').prev().removeClass('active')
})
$('.prev').click( function(){
$('.active').prev().addClass('active').next().removeClass('active')
})
https://jsfiddle.net/svgmc125/
编辑:
使用@pixelbits help 的帮助更新代码
现在 HTML 将是
<li>
<my-component></my-component>
</li>
<li>
<my-component-1></my-component-1>
</li>
<li [class]="slides[selectedIndex] == slide ? 'active': ''"
*ngFor="let slide of slides">
<img src="../../assets/images/onboarding/slides/{{slide}}.png" alt="">
</li>
<li>
<my-component-2></my-component-2>
</li>
<li>
<my-component-3></my-component-3>
</li>
ts:
export class SlidesComponent{
slides: any[];
selectedIndex: number;
constructor() {
this.selectedIndex = 0;
this.slides = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
}
next() {
++this.selectedIndex;
}
previous() {
--this.selectedIndex;
}
}
循环的<li> 一切正常,但剩余的<li> 仍然存在问题
【问题讨论】:
-
考虑“手风琴”以及“将类添加到其他类并从其他类中删除”的案例
标签: javascript jquery html angular