在我的文档的顶部,我有这个 Jquery 代码:
// RATING
$('.rateit').click(function(){
var position = $(this).position();
});
在页脚中我有一个 ajax 调用:
jQuery.ajax({
url: frm.attr('action'), //your server side script
data: frm.serialize(), //our data
type: 'POST',
success: function (data) {
alert(position.left);
},
问题是警报框没有随位置一起显示。我已经用 alert('something');
进行了测试,效果很好。
我真正的ajax调用:
jQuery.ajax({
url: frm.attr('action'), //your server side script
data: frm.serialize(), //our data
type: 'POST',
success: function (data) {
$('.warning').fadeIn(500).css({display: 'block',
position: 'absolute',
left: position.left + 50,
top: position.top - 25
}).append('asdasdsadsad'),
$(ri).next('.ratingcount').html('asdasdasd')
},
error: function (jxhr, msg, err) {
alert(msg); //something went wrong.
}
});
最佳答案
在click函数中,position是一个局部变量,因此仅在此范围内可见。
试试这个:
var position;
$('.rateit').click(function(){
position = $(this).position();
});
关于javascript - Jquery 变量未设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9453262/