Javascript 通过JS检测div的第一个子级和最后一个子级是否有类更改
我希望根据第一个和最后一个孩子的班级变化隐藏/显示一个divJavascript 通过JS检测div的第一个子级和最后一个子级是否有类更改,javascript,jquery,html,Javascript,Jquery,Html,我希望根据第一个和最后一个孩子的班级变化隐藏/显示一个div <div class="owl-stage"> <div class="owl-item active"> <img src="imagge.png" alt="alt text"> </div> <div class="owl-item"> <img src="imagge2.png" alt="alt text
<div class="owl-stage">
<div class="owl-item active">
<img src="imagge.png" alt="alt text">
</div>
<div class="owl-item">
<img src="imagge2.png" alt="alt text">
</div>
<div class="owl-item">
<img src="imagge3.png" alt="alt text">
</div>
</div>
<div class="buttons">
<div class="left">left</div>
<div class="right">right</div>
</div>
猫头鹰转盘有一个内置的。最好的解决方案是利用这一点并钩住
onChanged
回调。并使用返回的事件
数据计算第一个
和最后一个
选项。根据文件(增加重点):
//由core提供var元素=event.target;//DOM元素,在本例中为.owl carousel
var name=event.type;//事件名称,在本例中为拖动的
var namespace=event.namespace;//事件的命名空间,在本例中为owl.carousel
var items=event.item.count//项目数
var item=event.item.index//当前项目的位置
//由导航插件提供
var pages=event.page.count;//页数
var page=event.page.index;//当前页面的位置
var size=event.page.size;//每页的项目数 所以,在设置旋转木马时,您应该使用类似
$('.owl-carousel').owlCarousel({
onChanged: onChangedCallback
});
function onChangedCallback(event) {
if(event.item.index === 0){
// is on the "first" item
$('.buttons .left').hide();
$('.buttons .right').show();
}else if(event.item.index === event.item.count - 1){
// is on the "last" item
$('.buttons .left').show();
$('.buttons .right').hide();
}else{
$('.buttons .left').show();
$('.buttons .right').show();
}
}
猫头鹰转盘有一个内置的。最好的解决方案是利用这一点并钩住
onChanged
回调。并使用返回的事件
数据计算第一个
和最后一个
选项。根据文件(增加重点):
//由core提供var元素=event.target;//DOM元素,在本例中为.owl carousel
var name=event.type;//事件名称,在本例中为拖动的
var namespace=event.namespace;//事件的命名空间,在本例中为owl.carousel
var items=event.item.count//项目数
var item=event.item.index//当前项目的位置
//由导航插件提供
var pages=event.page.count;//页数
var page=event.page.index;//当前页面的位置
var size=event.page.size;//每页的项目数 所以,在设置旋转木马时,您应该使用类似
$('.owl-carousel').owlCarousel({
onChanged: onChangedCallback
});
function onChangedCallback(event) {
if(event.item.index === 0){
// is on the "first" item
$('.buttons .left').hide();
$('.buttons .right').show();
}else if(event.item.index === event.item.count - 1){
// is on the "last" item
$('.buttons .left').show();
$('.buttons .right').hide();
}else{
$('.buttons .left').show();
$('.buttons .right').show();
}
}
我在代码中添加了一些注释
$(函数(){
$('.buttons.left').hide();//初始运行
$('div.owl-stage')。在('triggerClassChange',function()上{
if($(this).find('div.owl-item').first().hasClass('active')){
$('.buttons.left').hide();
}否则{
$('.buttons.left').show();
}
if($(this).find('div.owl-item').last().hasClass('active')){
$('.buttons.right').hide();
}否则{
$('.buttons.right').show();
}
});
$('.buttons.right')。单击(函数(){
var ref=$('div.owl-stage').find('div.owl-item.active').get(0);//具有活动类的当前项
var refNext=$(ref).next();//对与当前.active项相邻的下一项的引用
如果(refNext.get(0)!=未定义){//请确保有可用项
$(refNext).addClass('active');//将类添加到下一项
$(ref).removeClass('active').trigger('triggerClassChange');//删除当前的类并触发自定义事件
}
});
$('.buttons.left')。单击(函数(){
var ref=$('div.owl-stage').find('div.owl-item.active').get(0);//具有活动类的当前项
var refPrev=$(ref).prev();//对与当前.active项相邻的下一项的引用
如果(refPrev.get(0)!=undefined){//请确保有可用项
$(refPrev).addClass('active');//将类添加到下一项
$(ref).removeClass('active').trigger('triggerClassChange');//删除当前的类并触发自定义事件
}
});
})
.active{
背景色:红色;
宽度:100px;
高度:50px;
}
.对{
显示:内联块;
}
.左{
显示:内联块;
}
左边
正确的
我在代码中添加了一些注释
$(函数(){
$('.buttons.left').hide();//初始运行
$('div.owl-stage')。在('triggerClassChange',function()上{
if($(this).find('div.owl-item').first().hasClass('active')){
$('.buttons.left').hide();
}否则{
$('.buttons.left').show();
}
if($(this).find('div.owl-item').last().hasClass('active')){
$('.buttons.right').hide();
}否则{
$('.buttons.right').show();
}
});
$('.buttons.right')。单击(函数(){
var ref=$('div.owl-stage').find('div.owl-item.active').get(0);//具有活动类的当前项
var refNext=$(ref).next();//对与当前.active项相邻的下一项的引用
如果(refNext.get(0)!=未定义){//请确保有可用项
$(refNext).addClass('active');//将类添加到下一项
$(ref).removeClass('active').trigger('triggerClassChange');//删除当前的类并触发自定义事件
}
});
$('.buttons.left')。单击(函数(){
var ref=$('div.owl-stage').find('div.owl-item.active').get(0);//具有活动类的当前项
var refPrev=$(ref).prev();//对与当前.active项相邻的下一项的引用
如果(refPrev.get(0)!=undefined){//请确保有可用项
$(refPrev).addClass('active');//将类添加到下一项
$(ref).removeClass('active').trigger('triggerClassChange');//删除当前的类并触发自定义事件
}
});
})
.active{
背景色:红色;
宽度:100px;
高度:50px;
}
.对{
显示:内联块;
}
.左{
显示:内联块;
}