我刚刚将我的网站更改为从html动态切换到我的很多页面的php。这样做我丢失了我在jquery中使用的滚动效果。该功能允许用户单击标题上的相应链接,它将滚动到链接到该按钮的类。在使页面动态化时,页面上的每个div现在具有相同的id。我想知道是否有办法将按钮设置为滚动到特定像素,或者可能使用第n个孩子?
function ScrollTo(id, speed)
{
$('html, body').animate({
scrollTop: $(id).offset().top
}, speed);
return false;
}
<div class="header-case2">
<a class="case2" onclick="ScrollTo('.case-div-1', 599)">Technology</a>
<a class="case2" onclick="ScrollTo('.case-div-2', 599)">Local Authority Modules</a>
<a class="case2" onclick="ScrollTo('.case-div-3', 599)">Data Channel</a>
<a class="case2" onclick="ScrollTo('.case-div-8', 599)">Housing Solutions</a>
<a class="case2" onclick="ScrollTo('.case-div-4', 599)"> Tenant Engagement</a>
<a class="case2" onclick="ScrollTo('.case-div-6', 599)">H&A Management</ a>
</div>
$query = $handler->query('SELECT * FROM solutions');
$results = $query->fetchAll(PDO::FETCH_ASSOC);
for ($i=0; $i < count($results); $i++) {
echo '<div class="case-div">';
echo '<h2 class="upper-blue">'.$results[$i]['headline'].'<br>'.'</h2>';
echo '<p class="pp13">'.$results[$i]['text'].'<br>'.'</p>';
echo '</div>';
echo '<div class="pa7"></div>';
}
答案 0 :(得分:0)
你错过了div的增量 -
这可以通过添加$ i(for循环的索引)来轻松修复,这样你的divs类 -
echo '<div class="case-div-'.$i.'">';
或者
echo '<div class="case-div-'.$i+1.'">';
因为它从零开始 - 这将使你的onclicks再次工作。