0

很简单,我希望。当我单击 jQuery 的 datepicker 中的日期时,我试图让一个 div 淡入:

<!DOCTYPE html>
<html>
<head>
  <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
  <script type="text/javascript" src="../datepicker/jquery.ui.core.js"></script>
  <script type="text/javascript" src="../datepicker/jquery.ui.widget.js"></script>
  <script type="text/javascript" src="../datepicker/jquery.ui.datepicker.js"></script>

  <script>
  $(document).ready(function() {
    $('#datepicker').datepicker();
    $('#datepicker').datepicker({
        onSelect: function(dateText, inst) {
        $('#foo').fadeIn();
        });
    });
  });
  </script>
</head>
<body style="font-size:62.5%;">

<p>Choose a date: <input id="datepicker" type="text"></p>

<div id="foo">FOO</div>

</body>
</html>
4

2 回答 2

1

1.你的代码有一个额外的括号和一个分号,见下面代码的注释:

$(document).ready(function() {
    $('#datepicker').datepicker();
    $('#datepicker').datepicker({
        onSelect: function(dateText, inst) {
        $('#foo').fadeIn();
        }); // <-- HERE, it should be just }
    });
});

这是正确的代码:

$(document).ready(function() {
    $('#datepicker').datepicker({
        onSelect: function(dateText, inst) {
            $('#foo').fadeIn();
        }
    });
});

2. 无需将datepicker()两次附加到同一个元素,您只需分配一次,并使用适当的参数,因此我删除了额外的$('#datepicker').datepicker().

3. 你应该隐藏元素,以便它在你淡入之前一直隐藏。使用这个 CSS:

#foo{
    display: none;
}

在此处查看演示 »

于 2011-07-13T10:04:51.420 回答
0

你的javascript有错误,另一个问题是你不能fadeIn()一个可见的元素:你必须先隐藏它。

尝试这个:

$(document).ready(function() {
    $('#foo').hide();
    $('#datepicker').datepicker({
        onSelect: function(dateText, inst) {
            $('#foo').fadeIn();
        }
    });

    });

小提琴:http: //jsfiddle.net/vH4HV/1/

于 2011-07-13T10:02:25.053 回答