jQuery setInterval持续更新数据属性
jQuery setInterval to continuously update data attribute
我有一个div类名为"tw_marquee_scroller"。我想每1秒更新一次它的左数据值。例如,在第一秒中,值将是10,然后是20、30、40 .......我正在使用这个代码,但它一次又一次地返回10。这有什么不对吗?
jQuery(document).ready(function($){
$('.tw_marquee_scroller').attr('data-left', 0);
setInterval(function(){
var position = parseInt($('.tw_marquee_scroller').data('left'));
var new_position = position + 10;
$('.tw_marquee_scroller').attr('data-left', new_position);
console.log(new_position);
}, 1000);
});
试着用data()
来写data
属性,而不是attr()
:
$('.tw_marquee_scroller').data('left', 0);
setInterval(function(){
var position = parseInt($('.tw_marquee_scroller').data('left'));
var new_position = position + 10;
$('.tw_marquee_scroller').data('left', new_position);
console.log(new_position);
}, 1000);
为什么不以同样的方式获取值?
jQuery(document).ready(function($){
$('.tw_marquee_scroller').attr('data-left', 0);
setInterval(function(){
var position = parseInt($('.tw_marquee_scroller').attr('data-left'));
var new_position = position + 10;
$('.tw_marquee_scroller').attr('data-left', new_position);
console.log(new_position);
}, 1000);
});
将该行中的data('left')
更改为:
var position = parseInt($('.tw_marquee_scroller').attr('data-left'))
它会起作用
这里有一个更少污染窗口的更短的方法:
$( (function($) {
var scroller = $('.tw_marquee_scroller');
scroller.data('left', 0);
setInterval( function() {
scroller.data('left', parseInt( scroller.data('left'), 10 ) + 10 );
console.log( scroller.data("left") );
}, 1000 );
}(jQuery.noConflict())) )
相关文章:
- 无法更新 Kendo-grid 中的值 - 无法读取未执行的“数据”属性
- 如何获取数据属性中存在的现有JSON并更新它
- 如何使用Jquery更新数据确认属性中的消息
- 调整窗口大小时更新数据属性
- 使用数据属性通过 jquery 定位和更新变量
- AJAX 数据 - 替换 HTML 与更新值属性
- 如何在 Ajax 上更新数据属性完成
- 单击时从数据属性获取更新的值
- Html5 数据属性在 ajax 请求后未更新
- 使用从 MongoDB 获取的新数据更新对象属性
- "无法读取属性'选项'未定义的“;尝试更新数据网格时的EasyUI
- Javascript/jQuery插件问题(未更新数据属性)
- JQueryUI自动完成不会't从选择框中更新其数据属性
- 引导程序's的模态数据属性未更新
- 数据属性没有更新,onclick事件仍然在上面
- 更新数据属性对象属性值
- JQuery更新数据-属性/值
- ajax调用后更新数据属性
- jQuery setInterval持续更新数据属性
- 更新数据属性