Jquery 显示显示我在页面上的位置,而不仅仅显示在中间

Jquery 显示显示我在页面上的位置,而不仅仅显示在中间,jquery,ajax,html,displayobject,Jquery,Ajax,Html,Displayobject,这是我的ajax代码,我每页有81个产品… 当我单击“添加到购物车”按钮时,页面中央会显示一个div,但当我将产品添加到页面的最后一个或底部时,div始终会显示在页面中央,我需要向上滚动页面才能看到它。 我希望得到我在页面上的结果,就像如果我在页面底部,我希望div出现在页面底部 <script type="text/javascript" > $(function() { $('a.addbtn').click(function(e){

这是我的ajax代码,我每页有81个产品…
当我单击“添加到购物车”按钮时,页面中央会显示一个div,但当我将产品添加到页面的最后一个或底部时,div始终会显示在页面中央,我需要向上滚动页面才能看到它。
我希望得到我在页面上的结果,就像如果我在页面底部,我希望div出现在页面底部

    <script type="text/javascript" >
        $(function() {
           $('a.addbtn').click(function(e){
                 e.preventDefault(); 
                 var quantity = $(this).attr("qty");
                 var prod_id = $(this).attr("prid");
                 var dataString = '&quantity=' + quantity + '&prod_id=' + prod_id;
                 if(quantity=='' || prod_id==''){
                    alert('some thing went wrong');
                 }
                 else{
                   $.ajax({
                      type: "GET",
                      url: "ajax_checkout.php",
                      data: dataString,
                      cache: false,
                      success: function(html){
                           $('.addcart').remove('');
                           $("#viewr").append(html);
                      }
                   });
                 }
                 return false;
            }); 
        });
    </script>

$(函数(){
$('a.addbtn')。单击(函数(e){
e、 预防默认值();
变量数量=$(此).attr(“数量”);
var prod_id=$(this.attr(“prid”);
var dataString='&quantity='+quantity+'&prod_id='+prod_id;
如果(数量=“”| |产品id=“”){
警惕(“有些事情出错了”);
}
否则{
$.ajax({
键入:“获取”,
url:“ajax_checkout.php”,
数据:dataString,
cache:false,
成功:函数(html){
$('.addcart')。删除('');
$(“#viewr”).append(html);
}
});
}
返回false;
}); 
});

虽然您可以使用jQuery设置样式,并使用
top
设置
内联样式,但我总是使用
css
并将其放置在浏览器顶部。虽然这意味着,在你关闭盒子之前,它总是在那里,但它不会固定在打开的地方

 .addcart {
      position: fixed;
      top: 10px;
 }

应该这样做

使div viewer的位置固定。像这样:

    #viewr{    
        width:30em;
        height:18em;
        border: 1px solid #ccc;
        background-color: #f3f3f3;
        display:none;
    }
使用任何您想要设置样式的类
现在在jquery中添加此函数,这将使出现在屏幕中央:

jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", Math.max(0, (($(window).height() - $(this).outerHeight()) / 2) + 
                                                $(window).scrollTop()) + "px");
    this.css("left", Math.max(0, (($(window).width() - $(this).outerWidth()) / 2) + 
                                                $(window).scrollLeft()) + "px");
    return this;
};
现在,在成功函数中,执行以下操作,使其在一段时间后可见和不可见:

success: function(html){
    $('#viewr').html(html);
    $('#viewr').fadeIn('slow').center().delay(2000).fadeOut('slow');
}
不要使用append(),它将始终在div中追加html。
延迟量以毫秒为单位,因此将其设置为您需要的任何值。

这应该可以做到

我会用
css
而不是
js
来做这件事,尽管你可以。好的,用css来做这件事,并感谢我ajax调用显示返回的
HTML
是什么,ajax称这个类为添加的产品name。它的工作,但你能做像脸书?或者像其他网站一样意味着它的位置始终居中而其不固定??但只出现在我需要的地方?它也有效,但如果不固定会更好:((一个框看起来很慢,突然消失。将设置的间隔值更改为所需的时间,现在只设置为500毫秒,设置为1000或2000以满足您的需要。嗯,但我的主要问题解决不了多少为什么它会固定在某个位置?我不需要它固定,就像我在浏览页面时出现消息一样,然后它不会滚动我不会要修复它:((((我希望它像facebook一样只显示msg,不要在页面上滚动它的工作很好,但现在问题是一点msg仍然只显示在中心。你做了我想做的所有事情,但问题是msg显示在中心。我希望它显示在页面上我所在的位置。如果我是底部,则在中间显示msg底部。就像我们在facebook上发送请求一样,我们总是看到msg ce。)恩,我们不需要在og页面的顶部阅读msg:))如果您这样做,我将非常感谢您:((