Javascript jQuery.fadeIn()工作,但.slideDown()和.animate()不工作
我试图建立一个网站,通过ajax调用加载页面,用ajax响应替换当前的内容。我在URL的末尾添加了一个#和一个页面名,这样人们就可以对页面进行图书标记Javascript jQuery.fadeIn()工作,但.slideDown()和.animate()不工作,javascript,jquery,ajax,jquery-animate,slidedown,Javascript,Jquery,Ajax,Jquery Animate,Slidedown,我试图建立一个网站,通过ajax调用加载页面,用ajax响应替换当前的内容。我在URL的末尾添加了一个#和一个页面名,这样人们就可以对页面进行图书标记 www.examplesite.com#主页 www.examplesite.com#示例 www.examplesite.com#examples/example1 www.examplesite.com#examples/example2 我不熟悉jQuery,也不太熟悉JavaScript,但当我转到存储在子文件夹中的页面时,我试图获得
- www.examplesite.com#主页
- www.examplesite.com#示例
- www.examplesite.com#examples/example1
- www.examplesite.com#examples/example2
<script>
//All pages are stored in a folder called 'pages' or a subfolder of 'pages'
$(document).ready(function(){
var myUrl = $(location).attr('href');
var noPage = myUrl.indexOf('#');
if(noPage == -1) {
location.hash = 'home';
}
window.onhashchange = function() {
pageChange();
}
function pageChange() {
var myUrl = $(location).attr('href');
var page = myUrl.substring(myUrl.indexOf('#') + 1, myUrl.length);
$.get('pages/' + page + '.html', function(pageHtml) {
if (page.indexOf('/') != -1) {
$('.main').hide().html(pageHtml).slideDown(400);
} else {
$('.main').hide().html(pageHtml).fadeIn(400);
}
});
};
pageChange();
});
</script>
//所有页面都存储在名为“页面”的文件夹或“页面”的子文件夹中
$(文档).ready(函数(){
var myUrl=$(位置).attr('href');
var noPage=myUrl.indexOf('#');
如果(无页面==-1){
location.hash='home';
}
window.onhashchange=函数(){
页面更改();
}
函数pageChange(){
var myUrl=$(位置).attr('href');
var page=myUrl.substring(myUrl.indexOf('#')+1,myUrl.length);
$.get('pages/'+page+'.html',函数(pageHtml){
如果(第页索引of(“/”)!=-1){
$('.main').hide().html(pageHtml).slideDown(400);
}否则{
$('.main').hide().html(pageHtml).fadeIn(400);
}
});
};
页面更改();
});
如果我从一个完全错误的方向来处理这个问题,这就是为什么它不起作用的原因,请给我举一个它应该如何工作的例子,为我指出正确的方向。我会拿这个
if (page.indexOf('/') != -1) {
$('.main').hide().html(pageHtml).slideDown(400);
} else {
$('.main').hide().html(pageHtml).fadeIn(400);
}
并重新排列它,以确保您的if语句是正确的
if (page.indexOf('/') != -1) {
$('.main').hide().html(pageHtml).fadeIn(400);
} else {
$('.main').hide().html(pageHtml).slideDown(400);
}
如果它现在滑动而不是淡入淡出,则If语句已损坏我认为
if (page.indexOf('/') != -1) {
$('.main').hide().html(pageHtml).slideDown(400);
} else {
$('.main').hide().html(pageHtml).fadeIn(400);
}
并重新排列它,以确保您的if语句是正确的
if (page.indexOf('/') != -1) {
$('.main').hide().html(pageHtml).fadeIn(400);
} else {
$('.main').hide().html(pageHtml).slideDown(400);
}
如果它现在滑动而不是褪色,则If语句已损坏这是怎么回事?这行吗
var main_div=$('.main');
main_div.hide();
$.get('pages/' + page + '.html', function(pageHtml) {
if (page.indexOf('/') != -1) {
main_div.html(pageHtml)
} else {
main_div.html(pageHtml)
}
});
main_div.slideDown(400);
这个怎么样?这行吗
var main_div=$('.main');
main_div.hide();
$.get('pages/' + page + '.html', function(pageHtml) {
if (page.indexOf('/') != -1) {
main_div.html(pageHtml)
} else {
main_div.html(pageHtml)
}
});
main_div.slideDown(400);
明白了
我在我的几个div中使用了cssminheight属性,这样,如果页面上有很多内容,页面就会随着内容自动展开。如果删除min height属性并将其替换为固定高度,则slideDown()可以正常工作
如果其他人有同样的问题,这里有一些链接可获取更多信息:
明白了
我在我的几个div中使用了cssminheight属性,这样,如果页面上有很多内容,页面就会随着内容自动展开。如果删除min height属性并将其替换为固定高度,则slideDown()可以正常工作
如果其他人有同样的问题,这里有一些链接可获取更多信息:
可能CSS中有什么东西阻止了它?尝试禁用
main
类的CSS,然后重试?可能CSS中有什么东西阻止了它?尝试禁用main
类的CSS,然后重试?这不会解决您的问题,但您可以通过替换$(location.attr('href')来减少代码;var page=myUrl.substring(myUrl.indexOf('#')+1,myUrl.length);page=location.hash.substring(1);你介意竖起小提琴吗?谢谢@Sushil:)非常感谢,我会试一试。@Bob加载内容,当你删除.hide()东西时你能看到吗?@MevinBabu是的,我尝试过删除.hide(),但似乎没有帮助,是的,内容加载很好。我将尝试设置一个JSFIDLE,希望它能帮助您解决问题,但您可以通过替换$(location.attr('href')来减少代码;var page=myUrl.substring(myUrl.indexOf('#')+1,myUrl.length);page=location.hash.substring(1);你介意竖起小提琴吗?谢谢@Sushil:)非常感谢,我会试一试。@Bob加载内容,当你删除.hide()东西时你能看到吗?@MevinBabu是的,我尝试过删除.hide(),但似乎没有帮助,是的,内容加载很好。我将尝试设置一个JSFIDLE,希望这会有所帮助。恐怕不会,我的页面仍会使用上述任一项进行更新,但slideDown动画似乎不想启动:(恐怕不会,我的页面仍会使用上述任一项进行更新,但slideDown动画似乎不想启动:(恐怕不会,页面会加载,但没有动画。如果我将.slideDown(400)更改为.fadeIn(400),它会工作……恐怕不会,页面会加载,但没有动画。如果我将.slideDown(400)更改为.fadeIn(400),它会工作。。。