css jquery不起作用

时间:2012-10-11 13:27:57

标签: jquery css

首先为我的英语道歉。当我点击triggerPop这个出现时,我有一个弹出窗口, 我试图向右显示这个,但css不起作用。我究竟做错了什么? 先感谢您。

var monscreen = $(window).width();
var mondoc = $(document).width();

if (mondoc > monscreen) {
    var dif = mondoc - monscreen;
    $("div#Navigation_Popup").css({
        'right': dif + 'px'
    });
}

$(function() {
    $('#triggerPop').bind('click', function(e) {
        $("#Navigation_Popup").slideFadeToggle(function() {});
        return false;
    });

    $.fn.slideFadeToggle = function(easing, callback) {
        return this.animate({
            opacity: 'toggle',
            height: 'toggle'
        }, "fast", easing, callback);
    }
});​

3 个答案:

答案 0 :(得分:1)

我将关注有限的信息。你提到css ...

我会移动所有这些代码:

var monscreen = $(window).width();
var mondoc = $(document).width();

if (mondoc > monscreen) {
  var dif = mondoc - monscreen;
  $("div#Navigation_Popup").css({
    'right': dif + 'px'
  });
}

内部

$(function(){
  .
  .
  .
});

就像现在一样,if (mondoc > monscreen)代码块在文档准备好之前就已经执行了。

答案 1 :(得分:0)

不确定jquery如何处理这些值,但isnt var monscreen = $(window).width(); var mondoc = $(document).width();返回字符串?如何查看此警告?

答案 2 :(得分:0)

Bind已弃用,请尝试使用。我也认为一切都应该在$(function())处理程序中,所以,试试这个:

$(function() {
    var monscreen = $(window).width();
     var mondoc = $(document).width();

    if (mondoc > monscreen) {
        var dif = mondoc - monscreen;
        $("div#Navigation_Popup").css({
           'right': dif + 'px'
        });
    }
    $('#triggerPop').on('click', function(e) {
        $("#Navigation_Popup").slideFadeToggle(function() {});
        return false;
    });

    $.fn.slideFadeToggle = function(easing, callback) {
        return this.animate({
            opacity: 'toggle',
            height: 'toggle'
        }, "fast", easing, callback);
    }
});