2011-02-06 51 views
2

所以我有我这个JavaScript加载到我的PHP的内容(它从MySQL数据库中获取数据)的div。当点击一个不同的按钮时,它会再次调用eat.php文件,并从MySQL中检索新数据并再次将新数据加载到div中。如何滑动(滚动)通过jquery的.load()检索到的整个div?

<script type="text/javascript"> 
$(function() { 
    $("a[name=eat]").click(function() { 
     $("div.nav a[name=eat]").css({"background-color":"#666966","color":"#fff"}); 
     $(".user-main").load("eat.php"); 
    }); 
    $("a[name=analyze]").click(function() { 
     $(".user-main").load("eat.php",{ name: "John", time: "2pm" }); 
    }); 
}); 
</script> 

而且没关系,一切都是如此。我的问题是如何让这个“幻灯片”进入新的div,就像它正在水平滚动?我对jQuery中的动画功能没有任何好运,并且宁愿不使用任何框架。此外,是通过做检查一个jQuery post的正确方法:

if (isset($_POST['name'])) 

在我的eat.php文件中?

回答

1

我不太清楚你在问什么。 如果你想确保你刚才添加滚动到视图中的数据,那么你可以使用这样的代码

if (document.all) { 
document.body.scrollIntoView(false); 
} else { 
    document.body.insertAdjacentHTML('beforeEnd','<a name="' + a + '"><\/a>'); 
window.location.hash = '#'+a; 
} 

与insertAdjacentHTML被插入标签到屏幕,然后告诉浏览器跳转到诀窍它。标签是一个JavaScript变量的内容,每次代码运行时它都必须有所不同。

如果您希望将整个分区滑入视图,那么您将不得不使用计时器。设置div使溢流隐藏,并使用相对位置和大的顶部或左/右值定位在屏幕外。然后,每次定时器关闭时,将偏移减小到零。

如果计时器每隔50ms熄灭一次,并且只移动几个像素,则会得到20fps,并且看起来会非常平滑。