使用默认mixitup配置$('#id').mixitup()
,我通过附加按钮<li>
标记的html代码动态添加过滤器按钮。在向页面添加html代码后立即再次调用相同的函数,以使新按钮工作。单击页面上的一些过滤器按钮(即使我没有按下新的)动画效果中断,在浏览器控制台上我看到:
未捕获的TypeError:无法读取未定义错误的属性“left”。
错误发生在第937行:
$toshow.each(function () {
var data = this.data;
data.tX = data.finalPos.left - data.showInterPos.left; //HERE
我在文档中看到了如何使用jquery after方法将新图像添加到列表中,但是没有关于如何动态添加过滤器按钮并在运行中初始化它们的解释。
是否需要描述所描述的行为? 这意味着我做错了什么。那么,如何正确初始化新的过滤器按钮?
我正在使用Mixitup 1.5.6(最新版)和jQuery 1.10.2(也尝试使用jQuery 2.0.3)。
提前致谢!
答案 0 :(得分:0)
您的问题是data.finalPos或data.showInterPos未定义。定义它之后的console.log数据,看看你是否有这些键
$toshow.each(function () {
var data = this.data;
console.log(data); //here
data.tX = data.finalPos.left - data.showInterPos.left;