我最近解决了我对滑动场的一个问题,谢谢你,所以我也想问这个问题。
在网站上:http://www.trulyscience.com/test/index.html我有一个问题小盒子。当您按下它时它会滑开然后再次按下时滑动关闭。 现在我的问题是这在IE中不起作用。
以下是代码:
function loadQuestion(){
var lol;
lol = 1;
jQuery('#question').click(function(){
if (lol==0){
jQuery('#question').animate({height:'300'});
lol = 1;
}else{
jQuery('#question').animate({height:'30'});
lol = 0;
}
});
jQuery('#question').trigger('click'); // Simulating click
}
jQuery(document).ready(function(){
loadQuestion();
});
答案 0 :(得分:1)
我认为在问题div可用于jQuery之前调用loadQuestion()会有问题,因此从不添加click事件。
我在准备好的功能中添加了断点和手表,这似乎至少表明了这一点。
jQuery(document).ready(function(){
// does this print 0 in IE?
console.log(jQuery('#question').length);
loadQuestion();
});
只是为了验证您是否可以将脚本移动到页面底部,看看是否能解决问题。如果确实如此,我仍然会调查为什么在IE中文档就绪触发时问题div不可用。
答案 1 :(得分:0)
function loadQuestion(){
var lol;
lol = 1;
var invalidElems = {
INPUT : true,
TEXTAREA : true
};
jQuery('#question').click(function(e){
if(e.target.tagName in invalidElems === false){
if (lol==0){
jQuery('#question').animate({height:'300'});
lol = 1;
}else{
jQuery('#question').animate({height:'30'});
lol = 0;
}
}
});
jQuery('#question').trigger('click'); // Simulating click
}
jQuery(document).ready(function(){
loadQuestion();
});