我感觉自己正在服用疯狂的药物。我快要失去理智解决手头的问题了,但最终 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>
最佳答案
我似乎记得 IE7 在键值对上存在尾随逗号问题。我会尝试删除多余的逗号,看看是否有帮助。
来自:
$(this).animate({"height": "85px",}, "fast" );
至:
$(this).animate({"height": "85px"}, "fast" );
关于Jquery vs IE 在黑暗的小巷 - 第 1 轮(上滑和下滑),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4074068/