javascript - Jquery 变量未设置

标签 javascript jquery

在我的文档的顶部,我有这个 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/

相关文章:

jQuery Masonry 帮助 - 过滤器

javascript - 使用 jQuery 加载文档的响应图像大小

javascript - 为什么数据没有从ajax传递到php

javascript - 存在多个嵌套层时隐藏显示 div

javascript - 如何使 selectize.js 选择框需要一个值?

javascript - Google map API 未显示在 MVC5 中

jquery - 在 SugarPro 中设置电子邮件字段的值

jquery - 查找 child 的祖先 id

javascript - 为什么淡入和动画不同时发生?

javascript - 在多重选择器中使用变量