我正在使用impress.js进行演示,而不是将它用于花哨的东西,我只是希望幻灯片彼此分开900px。我可能需要根据演示文稿的长度添加/删除幻灯片,而不是更改每个data-y值,我想使用jQuery循环浏览每个幻灯片并为每个幻灯片位置添加900px。这是我正在使用的jQuery:
var counter = 0;
$('.slide').each(function(){
var posY = counter * 900;
$(this).attr("data-y", posY);
counter++;
});
但它没有将值添加到我的html中的data-y属性中。我相信代码是对的,我只是不确定它为什么不起作用。
答案 0 :(得分:2)
尝试使用data()功能更改数据值
$(this).data("y", posY);
来自文档
HTML5数据 - *属性
从jQuery 1.4.3开始,HTML 5数据属性将自动生成 拉入jQuery的数据对象。用属性处理属性 在jQuery 1.6中更改了嵌入式破折号以符合W3C HTML5 说明书
答案 1 :(得分:1)
要在更少的代码中执行此操作,请使用每个循环的索引作为乘数
$('.slide').each(function(i){
var posY = i * 900;
$(this).data("y", posY);
});