Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过JS检测div的第一个子级和最后一个子级是否有类更改_Javascript_Jquery_Html - Fatal编程技术网

Javascript 通过JS检测div的第一个子级和最后一个子级是否有类更改

Javascript 通过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

<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;
}
.对{
显示:内联块;
}
.左{
显示:内联块;
}