javascript - 如何创建一个后退按钮,该按钮将落在单击以查看图像的特定文本/链接处

标签 javascript jquery

我正在尝试做的事情: 我在文本中有多个 anchor 链接,每个 anchor 链接都引用并连接到特定图像(在同一页面上)。

用户查看该图像后,我希望他们点击“后退”按钮,这将使他们返回到他们单击链接的文本,以便从他们离开的地方继续阅读。 (我已经在 html 中创建了按钮,其“id”为“backButton”)。

注意:我是 JS 和 jQuery 的新手,也许我无法找到插件或解释如何执行此操作,这与未能在搜索框中使用清晰简洁的解释进行搜索有关。 (在我看来,这将是一个相当常用的功能)

这就是我目前尝试使用 jquery 的立场:

$(function(){

    $('a').click(function(){

        $(this).attr('id', 'backToLink').addClass('que');

        $('#backButton').attr('href', '#backToLink');   
    });
});

(我会尝试解释我执行每个步骤的原因,以便有人告诉我为什么这是错误的):

$('a').click(function(){                

对于每个 anchor ,当单击它时,执行此功能,

$(这个) 请参阅单击的 anchor 链接,

.attr('id', 'backLink') 为该 anchor 指定 backToLink 的“id”,

.addClass('que'); 添加 queclass,它在我的 CSS 文件中设置为提供 padding-top,以便文本在 下方可见>固定位置 标题

$('#backButton').attr('href', '#backToLink'); 设置 #backButton href 返回文本中的原始链接,现在应该是 #backToLink

注意:我怀疑使用后需要关闭#backToLinkid, 这样下次使用的时候就不会和第一次冲突了。

最佳答案

我认为这里的问题是如果你想使用 anchor 导航那么你不需要使用 html 按钮。只需简单地使用 anchor 即可。这是您想要实现的目标的一个简单示例。您可以添加逻辑以根据您的需要使其动态化,或者通过手动添加链接数量来保持这种状态。希望这会有所帮助。

附注css 类仅用于添加间距以演示滚动。

function scrollToAnchor(aid){
    var aTag = $("a[name='"+ aid +"']");
    $('html,body').animate({scrollTop: aTag.offset().top},'slow');
}

$("a").click(function() {
   scrollToAnchor($(this).attr('href').slice(1));
});
#container{
  height:2800px;
}
#block1{
  background-color:black;
  width:100px;
  height:100px;
  margin-top:1000px;
  display:inline-block;
}

#block2{
  background-color:black;
  width:100px;
  height:100px;
  margin-top:600px;
  display:inline-block;
}
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<div id="container">
  <a href="#lk1" name="bk1">Link to Block 1</a>
  <br><br>
  <a href="#lk2" name="bk2">Link to Block 2</a>
  <br>
  <div id="block1"></div>
  <a href="#bk1" name="lk1">Back to Link 1</a>
  <br>
  <div id="block2"></div>
  <a href="#bk2" name="lk2">Back to Link 2</a>
</div>

关于javascript - 如何创建一个后退按钮,该按钮将落在单击以查看图像的特定文本/链接处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44033334/

相关文章:

javascript - 从下拉列表中选择变量时如何运行 javascript 代码和 PHP 代码

javascript - 在 deno 中调试依赖项

javascript - 将音频时间转换为MM :SS

javascript - 在另一个页面上显示 jquery 变量

javascript - 如果 jquery 加载失败,如何停止进一步的 javascript 调用?

javascript - 根据屏幕大小从菜单中动态删除元素

javascript - 如何将不同事件的变量一起调用?

jquery - FireFox 中所选 jquery 插件的聚焦不正确

javascript - 如何更改 jquery 创建的工具提示的文本?

javascript - 仅在轴上显示整数步长