点击首页锚点跳转至服务页后高亮对应DIV的实现问题
解决方案
步骤1:修改首页锚点链接,传递目标标识
给每个首页锚点的跳转URL加上target参数,明确标记要高亮的服务页DIV:
<!-- 首页的10个锚点示例 --> <a href="/services/?target=anchor1">服务1</a> <a href="/services/?target=anchor2">服务2</a> <!-- ... 其他8个锚点以此类推,target值对应服务页DIV的ID -->
步骤2:服务页实现高亮逻辑
服务页通过URL参数获取目标DIV,用CSS类控制高亮效果,5秒后自动移除:
服务页HTML(对应DIV示例)
<div id="anchor1" class="service-item">服务内容1</div> <div id="anchor2" class="service-item">服务内容2</div> <!-- ... 其他8个服务DIV --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
服务页CSS(定义高亮样式)
.highlight { background-color: yellow; /* 可选:添加过渡动画让高亮更平滑 */ transition: background-color 0.3s ease; }
服务页JS逻辑
$(document).ready(function() { // 解析URL中的target参数 const urlParams = new URLSearchParams(window.location.search); const targetId = urlParams.get('target'); if (targetId) { const $targetDiv = $('#' + targetId); if ($targetDiv.length) { // 添加高亮类 $targetDiv.addClass('highlight'); // 5秒后移除高亮类 setTimeout(() => { $targetDiv.removeClass('highlight'); }, 5000); } } });
原有代码失效原因
- 固定选择
#anchor3,无法根据用户点击的锚点动态匹配目标元素 - 跳转时没有传递锚点标识,服务页无法获知需要高亮的对象
- sessionStorage的使用逻辑错误,未实现跨页面的状态传递
内容的提问来源于stack exchange,提问作者kotan
相关产品推荐
相关产品推荐

