【发布时间】:2015-09-04 22:49:33
【问题描述】:
我的网站上有图像块,需要更好的描述。
在移动设备上,我希望在其中一个图块上单击以显示更多文本(描述该部分的内容),然后再点按一下实际导航到该链接并打开新页面。
同时,在桌面上,我希望鼠标悬停以显示隐藏的文本,然后单击导航到该部分。
我原以为我可以简单地使用悬停 - 之前阅读过,在基于触摸的设备上单击一次会模仿悬停,然后再单击一次打开链接。但是,这对我来说似乎不是这样 - 如果我使用悬停,E.G:
<a class="tileLink" href="/projects/london-serviced-apartments">
<section class="tile">
<img src="/images/lsa-s.jpg" srcset="/images/lsa-m.jpg 600w, /images/lsa-l.jpg 1000w, /images/lsa-xl.jpg 1920w" alt="services" />
<h1>London Serviced Apartments</h1>
<p class="hidden">Test hover text</p>
</section>
</a>
.tileLink:hover .tile{
opacity: 0.75;
}
.tileLink:hover p{
display: inline;
}
当我在其中一个图块上点击一次时,隐藏的文本会短暂显示,但链接会立即导航到 - 因此用户在有机会阅读文本并决定是否需要之前被直接带到该部分是否打开链接。
我确实尝试过使用 Javascript:
$(".tileLink").click(function(e){
if( $(this).find(".tile").hasClass("tapped") ){
}else{
e.preventDefault();
$(this).find(".tile").addClass("tapped").find("p").removeClass("hidden");
}
});
这实际上适用于移动设备,但在桌面悬停时不起作用 - 需要单击才能显示隐藏文本,并且需要再次单击才能导航到该部分。
有没有一种简单的方法可以在多个设备上工作?
【问题讨论】:
-
您的意思是无论点击行为如何,鼠标悬停时隐藏的
都不会显示在桌面上吗?因为那将是一个不同的问题,您的
.tileLink:hover p可能对您的.hidden没有权限,您也可以发布吗?
标签: javascript jquery html css