我觉得我正在服用疯狂的药丸。即将失去解决手头问题的想法,但最终 IE7 并没有按应有的方式使用 jquery 'slideDown' 和 'slideup' 功能。
所有其他浏览器都可以工作。我最初的理论是 .focus 的问题(因为 ie 无法识别)。当我将功能切换到 .click 时,它仍然不起作用。
请今晚救我的命。
<script type="text/javascript">
$(function()
{
$("#message").click(function() {
$(this).animate({"height": "85px",}, "fast" );
$("#button_block").slideDown("fast");
return false;
});
$("#cancel").click(function() {
$("#message").animate({"height": "30px",}, "fast" );
$("#button_block").slideUp("fast");
return false;
});
$("#submit").click(function() {
$("#message").animate({"height": "30px",}, "fast" );
$("#button_block").slideUp("fast");
return false;
});
});
</script>
请求的 HTML 片段
<div id="shout"></div>
<form method="post" action="shout.php">
<textarea id="message" name="message" class="message" value="enter text here"></textarea>
<div id="button_block" style="padding:0 0 15px;">
<input type="submit" id="submit" value="Submit"/>
<input type="submit" id="cancel" value="Cancel" />
</div>
</form>
此外,在该文件上方创建的“shoutbox”在 ie7 中也不起作用(尽管在任何其他浏览器中都可以正常工作)。它的代码是:
<script type="text/javascript">
$(function() {
refresh_shoutbox();
setInterval("refresh_shoutbox()", 15000);
$("#submit").click(function() {
var name = $("#name").val();
var message = $("#message").val();
var data = 'name='+ name +'&message='+ message;
$.ajax({
type: "POST",
url: "shout.php",
data: data,
success: function(html){
$("#shout").slideToggle(500, function(){
$(this).html(html).slideToggle(500);
$("#shout").val("");
});
}
});
return false;
});
});
function refresh_shoutbox() {
var data = 'refresh=1';
$.ajax({
type: "POST",
url: "shout.php",
data: data,
success: function(html){
$("#shout").html(html);
}
});
}
</script>