目前我正在创建一个主要使用PHP,SQL和JS混合的网站。我使用JS使用PHP和SQL动态提取新数据。我遇到的当前问题是我有一个按钮,单击该按钮将使页面基于偏移每2.5秒滚动到当前DIV。问题是元素移动后函数找不到NEW偏移量。
代码段:
...
$(".button").click(function() {
$message_focus = "TRUE";
$to_focus=($(".focus_on_this").offset().top);
});
...
if ($message_focus = "TRUE") {
$("html, body" ).animate( { scrollTop: ($to_focus) },{ queue:false, duration:750 } );
}
...
这是主要问题所在。这一切都很好,虽然它只进入初始div的起始位置。提前感谢您的回复。
答案 0 :(得分:0)
div
如何动态移动?有没有导致它移动的事件?如果是,则每次触发此事件时我们都需要设置$to_focus=($(".focus_on_this").offset().top);
。仅在单击时设置它将不起作用。
在你提到的按钮上的问题点击页面每隔2.5秒滚动到div,但我没有看到任何这样的代码。如果你想在一段时间之后重新调用任何代码,你应该使用setInterval,如下所示。
setInterval(function(){
//Do something after every 2000 milliseconds
}, 2000);
答案 1 :(得分:0)
每次滚动页面时都必须重新计算.focus_on_this
的位置:
var $message_focus = false;
$(".button").click(function() {
$message_focus = true;
});
setInterval(function() {
if ($message_focus == true) {
$("html, body" ).animate({
scrollTop: $(".focus_on_this").offset().top
},{
queue:false,
duration:750
});
}
}, 2500);