根据鼠标悬停在不同 div 上更改 div 内容

Change div content based on mouse hover on different divs

您好,这个问题是在其他人提出的 mouse hover changes text inside separate DIV 之前的问题的基础上构建的。

只有我相信原始发布者要求多次悬停并且似乎没有人理解该请求..我相信我正在寻找他正在寻找的东西所以我会尽力解释它.

说我有一个 div

<div id="content">Descriptions should appear here</div>

以及位于页面其他任何位置的链接列表及其自己的描述(只有列表可见,描述不可见)

foo = bar and stuff
apples = a red fruit
keyboard = thing you type with
boat = floats on water

我该怎么做,如果有人将鼠标悬停在其中一个链接上,描述就会显示在内容中 div?


感谢大家的回复!最后,这就是我的选择:

javascript:

<script>
    function changeContent(description) {
        console.log(description);
        var MyDesc = document.getElementById(description);
        document.getElementById('content').innerHTML = MyDesc.value;
    }
</script>

html:

<div id="content"></div>

<a onmouseover="changeContent('desc1')" href="#">Apples</a>
  <input type="hidden" id="desc1" value="apples are delicious">
<a onmouseover="changeContent('desc2')" href="#">Oranges</a>
  <input type="hidden" id="desc2" value="Oranges are healthy">
<a onmouseover="changeContent('desc3')" href="#">Candy</a>
  <input type="hidden" id="desc3" value="Candy is tasty!">

有一个单独的描述输入让我可以选择在需要时拍摄它。再次感谢所有出色的回答!

您需要使用 onmouseover 事件

http://www.w3schools.com/jsref/event_onmouseover.asp

然后让您编写脚本将 "content" 的样式更改为内联显示,然后在他们使用 onmouseout

离开悬停时返回 none

您可以使用 jQuery 并为列表中的每一行注册悬停事件。在事件函数中,您可以使用 $(this).text();

访问悬停标签的内容

我会给你最简单的答案和一个例子来说明这有多么容易:

Bootply

Html:

<div id="content">
  This is some cool default content!
</div>

<div id="foo">Bar and stuff</div>
<div id="apples">A red fruit</div>
<div id="keyboard">Thing you type with</div>
<div id="boat">Floats on water</div>

Javascript:

$("#foo, #apples, #keyboard, #boat").hover(function(e){
  $("#content").text($(this).text());
});

要使此网页成为 viable/useable 网页,您还需要做很多事情,但这将为您指明正确的方向。

希望对您有所帮助。

此解决方案使用纯 javascript。

<div id="content">
    Stuff should be placed here.
</div>

<br/>
<br/>
<br/>
<ul>
    <li onmouseover="hover('Apples are delicious')">Apple</li>
    <li onmouseover="hover('oranges are healthy')">Orange</li>
    <li onmouseover="hover('Candy is the best')">Candy</li>
</ul>

<script>
    function hover(description) {
        console.log(description);
        document.getElementById('content').innerHTML = description;
    }
</script>

你在找这个吗http://jsfiddle.net/abhiklpm/v6ay0yy6/ 在我的 mouseout 示例中,它还会显示旧的 div 内容,如果需要,您可以删除该部分。另外,您可以使用 jquery 事件,例如 mouseentermouseover

,而不是 hover

HTML

<ul>
    <li class="clickable" data-desc="bar and stuff">Fo</li>
    <li class="clickable" data-desc="a red fruit">apples</li>
    <li class="clickable" data-desc="thing you type with">keyboard</li>
    <li class="clickable" data-desc="floats on water">boat</li>
</ul>
<div id="content">Descriptions should appear here</div>

Javascript(jQuery 必填)

$('.clickable').on('click', function () {
    desc = $(this).attr('data-desc'); //get the description
    $('#content').text(desc);
});

fiddle这里http://jsfiddle.net/jcw6v7Le/