悬停不与Javascript, CSS和HTML工作
Hovering not working with Javascript, CSS and HTML
我是JS, HTML和CSS开发的新手,我试图为我的网页开发一个悬停功能。但是,我面临的问题是,当鼠标悬停在链接上时,没有显示任何内容,并且为特定悬停文本框创建的div即使没有悬停,也会出现在页面上。
我使用下面的代码片段来达到这个。首先,我有一些CSS(这应该是通用的,所以我可以使用它不同的悬停div)。我不确定我是否写对了。其次,我有一个JS代码的悬停功能。然后你会看到我为不同的悬停文本框创建的div。即使不悬停,这些div也会出现在网页上。我是否需要进一步的if语句来指示这些应该只在悬停时显示。最后,我添加了我使用的链接。也许有人也可以告诉我如何我可以带走链接的蓝色部分,但这目前只是一个小问题。
首先是CSS代码:你能告诉我我可能在这里做的错误吗?我希望这段代码也是通用的。所以每个悬停文本框都应该有这个"style"。
div#trigger {
display: none;
position: absolute;
width: 280px;
padding: 10px;
background: #eeeeee;
color: #000000;
border: 1px solid #1a1a1a;
font-size: 90%;
}
第二,JS代码。我做错什么了吗?
<!-- Java Script for Hovering -->
<script>
$(".trigger").hover(function(e) {
var elemToShow = $(this).data("target");
$("#" + elemToShow).show();
}, function() {
var elemToShow = $(this).data("target");
$("#" + elemToShow).show();
}).mousemove(function(e) {
var elemToShow = $(this).data("target");
$("#" + elemToShow).css('top', e.pageY + moveDown).css('left', e.pageX + moveLeft);
});
</script>
最后是特定悬停文本框的div。如何防止这些div在悬停未激活时也被显示?
<!-- Purpose: Hover Popup -->
<div class="trigger" target "purpose">
<h3>Purpose</h3>
<p>
Test
</p>
</div>
<!-- Scope: Hover Popup -->
<div class="trigger" target "scope">
<h3>Scope</h3>
<p>
dfsdf
</p>
</div>
我调用悬停的链接:'
<a class="trigger" data-target="purpose"> Purpose:</a> Why do we want to innovate?
<a class="trigger" data-target="scope"> Scope:</a> Who are we innovating for?
谢谢你的回答。
丹尼尔检查https://jsfiddle.net/pps1sd32/
$(".trigger").hover(function(e) {
var elemToShow = $(this).attr("data-target");
$("#" + elemToShow).show();
}, function() {
var elemToShow = $(this).attr("data-target");
$("#" + elemToShow).hide();
}).mousemove(function(e) {
var elemToShow = $(this).data("data-target");
//$("#" + elemToShow).css('top', e.pageY + moveDown).css('left', e.pageX + moveLeft);
});
在你的CSS中,你有div#trigger
,这是一个ID,但在你的JS和HTML触发器是一个类.trigger
,也许这就是为什么:
特定的悬停文本框出现在页面上,即使没有盘旋。
尝试更改div#trigger
为div.trigger
在你的CSS
代码中出错的地方
在这里,您通过从<a>
标签的data属性中获取的id来显示元素
$("#" + elemToShow).show();
但是在dom中没有id属性这就是为什么div没有显示
<div class="trigger" target "purpose"> // Id is missing here to make this div visible
<h3>Purpose</h3>
<p>
Test
</p>
</div>
<!-- Scope: Hover Popup -->
<div class="trigger" target "scope">// Id is missing here to make this div visible
<h3>Scope</h3>
<p>
dfsdf
</p>
</div>
如果你想在指针旁边显示div然后获取指针位置并将这些位置设置为div样式
var left = e.clientX + "px";
var top = e.clientY + "px";
$("#" + elemToShow).show().css({position:'absolute',top:top,left:left}).show();
这里提琴https://jsfiddle.net/pps1sd32/2/
- 视频HTML没有'无法在Internet Explorer 11上工作
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- HTML标记在脚本标记中工作
- .html()不会'页面更改或刷新时无法工作
- 为什么jquery悬停在jsfiddle中可以工作,而在我的html布局中却不能
- ng绑定html不工作
- 如何让这个javascript var在HTML页面上工作
- HTML文件中的智能Javascript建议在Visual Studio代码更新后没有日志程序工作
- 带有Angular指令的HTML;附加时无法工作
- 如何使setTimeout脚本在html表单中正常工作
- Django,HTML,JS:<img src=“#">可以在HTML中工作,但不能在JS文件中工作
- ajax代码工作时,使用javascript禁用html中的链接
- 在html文件中添加了多个外部javascript,其中一个停止工作
- 当我移动引用three.js的html文件时,three.js停止工作
- ng-bind-html 工作,但抛出错误
- JavaScript代码很好,但网页预览只显示我的html工作
- 如何制作浮动HTML <工作
- 悬停不与Javascript, CSS和HTML工作
- .html工作,但文本不会在ajax请求后出现
- 不能让Angular sanitize / ng-bind-html工作