鱼C论坛

 找回密码
 立即注册
查看: 2828|回复: 4

请大神帮我看看这段js代码问题出在哪里?

[复制链接]
发表于 2018-8-14 15:53:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在js代码那边的监听滚动事件里面
ele已经取到,用console.log也能打印出来了,但使用.addClass("active")就报错,而且取ele.siblings()也报错
但是用ele.innerHTML就可以……
为什么这个ele能用DOM方法却不能用jQuery方法?
请大神指点
test.zip (31.01 KB, 下载次数: 2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-14 16:08:45 | 显示全部楼层
你想实现什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-14 16:14:08 | 显示全部楼层
就是随着滚轮,在左侧的列表123上添加active的class
实现方法不重要,主要是想知道,这个ele为什么不能用jQuery方法,却能用DOM方法。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-14 16:15:11 | 显示全部楼层
    $(".content-right").on("scroll", function () {
        for (let i=0;i<divHeight.length-1;i++) {
            if (divHeight[i] <= $(this).scrollTop() &&  $(this).scrollTop()< divHeight[i+1]) {
                let ele = $(".content-left div")[i];
                console.log(ele);
                console.log(ele.siblings());
                ele.addClass("active");
                ele.siblings().removeClass("active");
                // $(".content-left div")[i].addClass("active").siblings().removeClass("active");
            }
        }
        })

就是里面第4,5行取到的ele
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-14 17:37:28 From FishC Mobile | 显示全部楼层
找到原因了,jquery对象是包装集,不能用dom对象方法,同理dom对象也不能用jquery对象方法,js真心坑
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 00:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表