javascript - 我的 anchor 标签不起作用。

标签 javascript jquery html css

问题如标题所述,点击用 anchor 标签包裹的图像不起作用。

这是网格列表项的示例:

<li class="grid-list-item">
            <h3 class="grid-trail-name">Marshall Canyon</h3><span class="grid-loc">Mt Baldy, California</span>
            <div class="grid-overlay">
                <span class="grid-close">close</span>
                <div class="grid-trail">
                    <div class="open">
                        <div class="info-flex info">
                            <div class="info-sum info-flex-child">
                                <h3 class="info-sum-header">Marshall Canyon...</h3>
                                <p class="info-sum-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque imperdiet massa sed augue posuere aliquet. Sed ac eros convallis, porttitor tellus in, blandit lacus. Suspendisse mollis quis turpis ac tempor. Pellentesque imperdiet massa sed augue posuere aliquet. Sed ac eros convallis, porttitor tellus in, blandit lacus. Suspendisse mollis quis turpis ac tempor. </p>
                            </div>
                            <div class="info-map info-flex-child">
                                <a href="http://www.ramblr.com/web/mymap/trip/81548/154499" target="_blank" ><img src="http://www.ramblr.com/media/photo/map/20150714/0000154499_big_english.jpg?q=1461036407851" data-item="map_img" data-src="http://www.ramblr.com/media/photo/map/20150720/0000158962_big_english.jpg"  class="map"> </a>
                            </div>
                            <div class="info-graph info-flex-child">
                                <a href="http://www.ramblr.com/web/mymap/trip/81548/154499" target="_blank" ><img src="http://www.ramblr.com/media/photo/chart/20150714/0000154499_1_english.jpg?q=1461036467654" data-item="chart_img" data-src="http://www.ramblr.com/media/photo/chart/20150720/0000158962_1_english.jpg" class="graph"></a>
                            </div>
                            <div class="info-pic-section info-flex-child">
                                <img src="images/marshall.jpg" alt="" class="info-pic">
                            </div>
                        </div><!-- GRID INFO -->
                    </div><!-- OPEN -->
                </div><!-- GRID TRAIL -->
            </div><!-- GRID OVERLAY -->
        </li><!-- GRID ITEM -->

网格叠加层保持隐藏状态,直到用户单击网格项。单击后,将显示信息部分。在信息部分中有一张 map 和一张图表,单击它们后应该会打开一个新的 anchor 标记。

我的猜测是我用来实现此效果的脚本是导致 boxgrid.js 问题的原因。找到 github 存储库 here并且该站点正在激增here .

最佳答案

问题在于 <div class="grid-overlay"> 在哪里内容驻留在 DOM 中。目前,有 12 个,每个列表项中有 1 个。您将需要这些叠加层才能在列表项之外生存。

查看以下 gif。

enter image description here

我单击其中一个起始列表项,然后出现叠加层。像往常一样,点击 map anchor 不起作用。然后我拖动 <div class="grid-overlay"> DOM 在其列表项之外并将其放在 </body> 之前.样式现在有点困惑(需要应用背景颜色),但关键是 map anchor 链接现在可以使用了。

一个解决方案是移动所有 <div class="grid-overlay"> </body> 之前的元素并在每个人身上添加一个数据属性,将其与远足目的地相关联。例如:

<div class="grid-overlay" data-belongs-to="Potato Mountain">

然后,您可以将此目的地与单击的列表项相关联:

<li class="grid-list-item" data-location="Potato Mountain">

在这一点上,你必须弄乱 original script一点。你想改变:

$overlay = $item.children( 'div.grid-overlay' )

因为 <div class="grid-overlay">元素将不再作为子元素存在于每个 $item 中.

祝你好运!

关于javascript - 我的 anchor 标签不起作用。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36708698/

相关文章:

javascript - 如何将robots.txt添加到 Node 应用程序?

javascript - 我如何返回 eval(code) 并使用 JavaScript 取回对象?

javascript - 当我们在javascript中切换时如何显示文本?

jQuery - 单击一个 div,关闭所有其他问题

html - 如何让我的旋转木马仅填充屏幕尺寸的 60%,以便其余部分可供其正下方的面板使用

html - 跨设备/屏幕尺寸的 SVG 缩放问题

javascript - WebGL/three.js 片段着色器 - 用 alpha 透明颜色覆盖 alpha 透明纹理

javascript - 如何动态地将动态指令添加到我的 Angular 应用程序中?

javascript - jquery 脚本在单击按钮时不起作用

html - 页面 url 链接到页面内部框架